我正在建立一个图书馆。这个库里面有5个不同的包。
src
|
----
|--- pkg.exceptions
|--- pkg.a
|--- pkg.b
|--- pkg.c
|--- pkg.main
libs
|
----someExternalJar.jar
项目设置如下 pkg.main 使用所有其他包中的类。 事实上,每个包都使用彼此的类。 我还为每个类编写了javadoc注释。 main中的一个类使用someExternalJar.jar。
我查看了不同的文章,但无法理解ANT构建脚本。
到目前为止,我已尝试使用以下构建脚本...
编译源代码,生成JavaDocs并将应用程序打包到JAR存档中。
<property name="srcDir1" value="src/pkg/exceptions"/>
<property name="srcDir2" value="src/pkg/a"/>
<property name="srcDir3" value="src/pkg/b"/>
<property name="srcDir4" value="src/pkg/c"/>
<property name="srcDir5" value="src/pkg/main"/>
<property name="distDir" value="/dist"/>
<property name="buildDir" value="${distDir}/build" />
<property name="docDir" value="${distDir}/docs" />
<property name="library.dir" value="/lib" />
<path id="external.classpath">
<pathelement path="${library.dir}/someExternalJar.jar" />
</path>
<target name="clean">
<delete dir="${buildDir}"/>
<delete dir="${distDir}"/>
<delete dir="${deployDir}"/>
</target>
<target name="init" depends="clean">
<tstamp/>
<mkdir dir="${buildDir}"/>
<mkdir dir="${distDir}"/>
<mkdir dir="${deployDir}"/>
<mkdir dir="${reportDir}"/>
</target>
<target name="compile" depends="init">
<javac srcdir="${srcDir1}" destdir="${buildDir}" />
<javac srcdir="${srcDir2}" destdir="${buildDir}" />
<javac srcdir="${srcDir3}" destdir="${buildDir}" />
<javac srcdir="${srcDir4}" destdir="${buildDir}" />
<javac srcdir="${srcDir5}" destdir="${buildDir}" />
</target>
<target name="doc" depends="compile">
<javadoc packagenames="pkg.exception" sourcepath="." destdir="${docDir}" author="true" version="true" use="true" windowtitle="pkg.exception docs">
<doctitle><![CDATA[<h1>MyAPI</h1>]]></doctitle>
<bottom><![CDATA[<i>MyAPI</i>]]></bottom>
</javadoc>
<javadoc packagenames="pkg.a" sourcepath="." destdir="${docDir}" author="true" version="true" use="true" windowtitle="pkg.a docs">
<doctitle><![CDATA[<h1>MyAPI</h1>]]></doctitle>
<bottom><![CDATA[<i>MyAPI</i>]]></bottom>
</javadoc>
<javadoc packagenames="pkg.b" sourcepath="." destdir="${docDir}" author="true" version="true" use="true" windowtitle="pkg.b docs">
<doctitle><![CDATA[<h1>MyAPI</h1>]]></doctitle>
<bottom><![CDATA[<i>MyAPI</i>]]></bottom>
</javadoc>
<javadoc packagenames="pkg.c" sourcepath="." destdir="${docDir}" author="true" version="true" use="true" windowtitle="pkg.c docs">
<doctitle><![CDATA[<h1>MyAPI</h1>]]></doctitle>
<bottom><![CDATA[<i>MyAPI</i>]]></bottom>
</javadoc>
<javadoc packagenames="pkg.main" sourcepath="." destdir="${docDir}" author="true" version="true" use="true" windowtitle="pkg.main docs">
<doctitle><![CDATA[<h1>MyAPI</h1>]]></doctitle>
<bottom><![CDATA[<i>MyAPI</i>]]></bottom>
</javadoc>
</target>
<!-- Create Java application archive (Jar) -->
<target name="archive" depends="doc">
<jar destfile="${distDir}/myapi.jar" basedir="${buildDir}" excludes="**/*Test.class,**/Runner.class" />
</target>
但是我遇到了各种错误,例如无法从pkg.exceptions,pkg.a等找到符号
有人可以帮忙吗?
答案 0 :(得分:0)
基于我所做的阅读和来自@gturri的回复,我得出的结论是我为自己创建了一个XY问题,所以我没有创建单独的包,而是创建了一个主包并在该包中创建了子文件夹......所以
src
|
----
|--- pkg.exceptions
|--- pkg.a
|--- pkg.b
|--- pkg.c
|--- pkg.main
libs
|
----someExternalJar.jar
成了
src
|
----
| |
| --- pkg.main
| |
| ----
| |--- folder.exceptions
| |--- folder.a
| |--- folder.b
| |--- folder.c
libs
|
----someExternalJar.jar
通过这种方式,我能够编译 pkg.main 的内容,并使用 build.xml <中的非常小的更改创建 javadocs / p>