作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包(带有一些过时的Java文件),我需要使用ant工具构建它。我有一些更新的类(class),其来源不可用。因此,我需要在构建期间将更新的类添加到 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>
最佳答案
如果您想从编译中保留某些包,您可以使用文件集 ant 标记的 excepts 属性。
例如:
<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 dir="classfiles">
<include name="your class file name"/>
</fileset>
希望这有帮助
关于java - 如何在 ant 构建过程中包含外部类文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23798392/
我是一名优秀的程序员,十分优秀!