我有一个包(带有一些过时的Java文件),我需要使用ant工具构建它。我有一些更新的类,其中没有源。因此,我需要在构建期间将更新的类添加到jar中,并从构建中跳过过时的Java文件。请告诉我如何实现这一目标。
例如 - 我没有com.org.auth.ABC.Java的更新源java文件,但我有更新的类文件,我从另一个来源,即com.org.auth.ABC.class。在构建期间,我需要单独指向此类的更新类(com.org.auth.ABC.class)并创建一个新jar。
请查看我目前如何指向下面的课程文件。
<target name="xxx.jar" depends="xjc,compile">
<jar destfile="${dist.dir}/xxx.jar">
<fileset dir="${classes.dir}" includes="**/*.class"/>
<fileset dir="${jaxb-classes.dir}" includes="**/*.class"/>
<fileset dir="${jaxb-source.dir}" includes="**/bgm.ser,**/jaxb.properties"/>
</jar>
</target>
答案 0 :(得分:2)
如果要从编译中保留一些包,可以使用fileset ant标记的excludes属性。
例如:
<fileset dir="src/">
<exclude name="**/dir_name_to_exclude/**" />
</fileset>
为了在编译中包含指定的类,您可以使用ant将包含文件夹放在类路径中。
<path id="project.class.path">
<pathelement location="lib/"/>
<pathelement path="${java.class.path}/"/>
<pathelement path="path to your class file's base folder"/>
</path>
<javac srcdir="${src.dir}"
destdir="${classes.dir}"
classpathref="project.class.path">
... put source files here..
</javac>
如果您想在jar中包含该类文件,请使用include标记将其添加到fileset:
<fileset dir="classfiles">
<include name="your class file name"/>
</fileset>
希望这有帮助