我有一个相当简单的Ant脚本,它正在运行我要导入到我需要使用ant编译的类中的依赖项。排除似乎是不对的。
<property name="dir.src" location="src"/>
<property name="dir.org" location="src\org"/>
<target name="compile" description="compile the source">
<mkdir dir="build"/>
<!-- Compile the java code from ${src} into ${build} -->
<javac listfiles="true" includeantruntime="false" srcdir="${dir.src}" classpath="${dir.src}" destdir="${build} debug="on" >
<include name="src/TaskJob.java" />
<exclude name="${dir.org}" />
</javac>
</target>编译运行1900年java文件
Directory----
---------build.xml
---------+src
-------------+org
-------------TaskJob.java
---------.git我也在努力
<dirset id="dirset" dir="${dir.src}">
<include name="src/**.java"/>
<exclude name="src/org/**"/>
</dirset>然后使用文件名:
<javac exclude="dirset" srcdir="${dir.src} destdir="classes" debug="on" >
<filename name="${dir.src}\TaskJob.java"/>
</javac>反馈意见很受欢迎。
发布于 2016-06-10 18:26:24
你的剧本有以下..。
<property name="dir.src" location="src"/>
<property name="dir.org" location="src\org"/>...and下面..。
<javac ... srcdir="${dir.src}" ...>
<include name="src/TaskJob.java" />
<exclude name="${dir.org}" />
</javac>用它们的实际值替换这些属性会给出以下结果..。
<javac ... srcdir="src" ...>
<include name="src/TaskJob.java" />
<exclude name="src\org" />
</javac>src同时出现在srcdir和<include>中。如果<include>存在于您的场景中,则它将匹配以下TaskJob.java .
Directory----
---------build.xml
---------src
-------------src
-----------------org
-------------TaskJob.java注意如何在另一个src目录下有一个src子目录。
所以你想要的是.
<javac ... srcdir="src" ...>
<include name="TaskJob.java" />
</javac>不需要<exclude>元素。只有<include>是必要的。
发布于 2016-06-09 16:01:38
如果要排除org目录下的所有java文件,请执行以下操作。
<javac listfiles="true" includeantruntime="false" srcdir="${dir.src}" classpath="${dir.src}" destdir="${build} debug="on" >
<exclude name="org/**" />
<include name="src/TaskJob.java" />
</javac>有关更多细节和示例,您可以阅读FileSet文件。
https://stackoverflow.com/questions/37729453
复制相似问题