首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ant + javac +属性

ant + javac +属性
EN

Stack Overflow用户
提问于 2010-07-05 15:44:41
回答 1查看 1.4K关注 0票数 0

在ant脚本中,我只想编译某些包。

代码语言:javascript
复制
com.example.some_package.foo
com.example.some_package.bar

这是我想要做的,但它似乎不起作用,因为属性替换在<include>标记中似乎不起作用:

代码语言:javascript
复制
<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>

不需要重新键入每个包的整个包路径,我怎么才能绕过这个问题呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-05 19:56:18

在属性上使用属性,而不是location

代码语言:javascript
复制
 <property name="ROOT_PKG_PATH" value="com/example/some_package"/>

示例

我能够有条件地编译我的java类之一:

代码语言:javascript
复制
./src/some_package/demo1/Demo.java
./src/some_package/demo2/Demo.java
./build/classes/somepackage/demo1/Demo.class
./build.xml

使用以下ANT文件:

代码语言:javascript
复制
<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>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3180747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档