ant javac排除未包含的所有内容

时间:2012-10-10 20:25:44

标签: java ant build javac

我正在尝试为我们现有业务逻辑层的REST服务编写构建脚本,但是,我只希望包含最少量的源来保持服务的小型化,并且只包含它绝对需要的内容

以下是我当前的编译目标。我能够包括一切或什么都不包括。我认为我犯了一个简单的错误,我似乎无法在网上发现或找到它。

<target name="compile">
    <mkdir dir="${build.classes.dir}"/>
    <javac source="1.6"
           target="1.6"
           encoding="UTF-8"
           debug="true"
           debuglevel="lines,vars,source"
           srcdir="${basedir}"
           destdir="${build.classes.dir}"
           includeAntRuntime="false">
        <src>
            <dirset dir="${src.eai.dir}" errorOnMissingDir="true">
                <include name="common/vo/MyPojo.java"/>
                <include name="common/SomeException.java"/>
            </dirset>
            <dirset dir="${src.ets.dir}" errorOnMissingDir="true">
                <include name="common/vo/AnotherPojo.java" />
                <include name="price/vo/YetAnotherPojo.java" />
                <include name="price/vo/OneMorePojo.java" />
            </dirset>
            <dirset dir="${src.java.dir}" errorOnMissingDir="true">
                <include name="java"/>
            </dirset>
        </src>
        <!-- this line ignores everything, without it it includes everything -->
        <exclude name="**/*.java"/>
        <classpath refid="classpath"/>
    </javac>
</target>

有没有办法只包含上面指定的文件?

2 个答案:

答案 0 :(得分:1)

代替exclude,尝试include并列出用逗号(,)分隔的java文件,例如:

<include name="common/vo/MyPojo.java,common/SomeException.java,common/vo/AnotherPojo.java,price/vo/YetAnotherPojo.java" />

答案 1 :(得分:0)

不要同时设置srcdir属性和嵌套<src>元素,因为我想Ant只是将两者结合起来。