在ant脚本中,我只想编译某些包。
com.example.some_package.foo
com.example.some_package.bar这是我想要做的,但它似乎不起作用,因为属性替换在<include>标记中似乎不起作用:
<property name="ROOT_PKG_PATH" location="com/example/some_package"/>
...
<target name="compile-client" depends="init">
<javac srcdir="${srcDir}"
destdir="${buildDir}"
debug="on"
target="1.5"
classpathref="build.classpath">
<include name="${ROOT_PKG_PATH}/foo/**" />
<include name="${ROOT_PKG_PATH}/bar/**" />
</javac>
</target>不需要重新键入每个包的整个包路径,我怎么才能绕过这个问题呢?
发布于 2010-07-05 19:56:18
在属性上使用值属性,而不是location
<property name="ROOT_PKG_PATH" value="com/example/some_package"/>示例
我能够有条件地编译我的java类之一:
./src/some_package/demo1/Demo.java
./src/some_package/demo2/Demo.java
./build/classes/somepackage/demo1/Demo.class
./build.xml使用以下ANT文件:
<project name="demo" default="compile">
<property name="prop" value="some_package/demo1"/>
<target name="compile">
<mkdir dir="build/classes"/>
<javac srcdir="src" destdir="build/classes">
<include name="${prop}/**"/>
</javac>
</target>
</project>https://stackoverflow.com/questions/3180747
复制相似问题