【问题标题】:ant javac exclude everything not includedant javac 排除所有未包含的内容
【发布时间】:2012-10-01 10:05:58
【问题描述】:

我正在尝试为位于我们现有业务逻辑层之上的 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>

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

【问题讨论】:

    标签: java ant build javac


    【解决方案1】:

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

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

    【讨论】:

    • 这并不理想,但它确实有效。谢谢。我必须做的另一件事是在所有内容前面添加**/
    【解决方案2】:

    不要同时设置 srcdir 属性和嵌套的 &lt;src&gt; 元素,因为我认为 Ant 只是将两者结合起来。

    【讨论】:

      猜你喜欢
      • 2012-06-02
      • 2013-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多