我正在尝试编译我的所有包,除了其中两个,这是我在build.xml中的javac看起来像
<javac srcdir="${src}" destdir="${output}" debug="${debug}" failonerror="yes" >
<exclude name="com/abc/uyyy/**"/>
<exclude name="com/abc/zzz/**"/>
<include name="com/abc/zzz/Text.java"/>
<patternset refid="excluded.from.compilation.abc"/>
<classpath refid="abc.module.classpath"/>
</javac>
但是包中的所有文件都被编译:(。
我已阅读文档(http://ant.apache.org/manual/Tasks/javac.html
),但仍然没有成功,有任何帮助吗?
注意:在编译Text.java之后,我需要构建WSDL文件,然后构建排除的包。我正在使用Metro来编写和构建我的WS。
答案 0 :(得分:2)
是不是可以将所有类文件编译到一个目录中,然后使用下面的复制任务只复制你想要的WSDL文件?
<target name="copy_all_class_files">
<copy todir="${output}">
<fileset dir="classes">
<include name="com/abc/zzz/Text.class"/>
<exclude name="com/abc/uyyy/**"/>
<exclude name="com/abc/zzz/**"/>
</fileset>
</copy>
</target>
答案 1 :(得分:2)
好的,这就是我做的,我编写了一个新的目标,只编译WS文件,然后生成类,它工作正常:)
<target name="compile-ws-server">
<javac srcdir="${src}" destdir="${output}"
debug="${debug}" failonerror="yes">
<include name="com/abc/xxx/Text.java"/>
<exclude name="${src}/abc/xxx/**"/>
<classpath refid="abc.module.classpath"/>
</javac>
</target>
答案 2 :(得分:0)
以上都不是正确的方式......
我做过像
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${build}" excludes="com/company/example/test/**" />
</target>
这里我们应该避免放置$ {src}并从src文件夹开始。