2011-08-24 4 views
4

私のプロジェクトにbuild.xmlファイルを書き込もうとしています。私はAntのプロジェクトとしてのbuild.xmlを実行すると、私は次のエラーを取得する:AntプロジェクトをビルドするときのJavadocエラー

D:\workspace\LogAlerter\src\com\j32bit\alerter\launcher\LogAlerter.java:9: 
error: package org.apache.log4j does not exist 
    [javadoc] import org.apache.log4j.Logger; 

私はLogAlerter.Javaでのlog4jを輸入しています。以下は私のbuild.xmlファイルです:

<?xml version="1.0"?> 
<project name="LogAlerter" default="main" basedir="."> 
    <!-- Sets variables which can later be used. --> 
    <!-- The value of a property is accessed via ${} --> 
    <property name="src.dir" location="src" /> 
    <property name="build.dir" location="build" /> 
    <property name="dist.dir" location="dist" /> 
    <property name="docs.dir" location="docs" /> 
    <property name="libs.dir" location="lib" /> 

    <!-- 
     Create a classpath container which can be later used in the ant task 
    --> 
    <path id="build.classpath"> 
     <fileset dir="${libs.dir}"> 
      <include name="**/*.jar" /> 
     </fileset> 
    </path> 


    <!-- Deletes the existing build, docs and dist directory--> 
    <target name="clean"> 
     <delete dir="${build.dir}" /> 
     <delete dir="${docs.dir}" /> 
     <delete dir="${dist.dir}" /> 
    </target> 

    <!-- Creates the build, docs and dist directory--> 
    <target name="makedir"> 
     <mkdir dir="${build.dir}" /> 
     <mkdir dir="${docs.dir}" /> 
     <mkdir dir="${dist.dir}" /> 
    </target> 

    <!-- Compiles the java code (including the usage of library for JUnit --> 
    <target name="compile" depends="clean, makedir" > 
     <javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" includeantruntime="false"> 
     </javac> 
    </target> 

    <!-- Creates Javadoc --> 
    <target name="docs" depends="compile"> 
     <javadoc packagenames="src" sourcepath="${src.dir}" destdir="${docs.dir}"> 
      <!-- Define which files/directory should get included, we include all --> 
      <packageset dir="${src.dir}" defaultexcludes="yes"> 
       <include name="**" /> 
      </packageset> 
     </javadoc> 
    </target> 

    <!--Creates the deployable jar file --> 
    <target name="jar" depends="compile"> 
     <jar destfile="${dist.dir}\LogAlerter.jar" basedir="${build.dir}"> 
      <manifest> 
       <attribute name="Main-Class" value="LogAlerter.Main" /> 
      </manifest> 
     </jar> 
    </target> 

    <target name="main" depends="compile, jar, docs"> 
     <description>Main target</description> 
    </target> 

</project> 

答えて

7

試してみてください。

<javadoc packagenames="src" 
     sourcepath="${src.dir}" 
     destdir="${docs.dir}" 
     classpathref="build.classpath"> 
2

javadocタスクに完全なクラスパスを提供していないという警告が表示されます。あなたのコンパイルタスクで同様のclasspath refを追加して、それがどこにつながっているかを見てください。

2

インポートは正常ですが、実行時にJavaDocツールで使用できることを確認してください。 build.classpathlog4j.jarが含まれている必要があります。

そうのようなdocsターゲット内classpathrefをご利用ください:あなたのjavadocタスクにクラスパスの参照を追加する

<javadoc packagenames="src" sourcepath="${src.dir}" destdir="${docs.dir}" classpathref="build.classpath"> 
関連する問題