如何在Ant javac Task中包含默认包

时间:2009-07-06 03:31:02

标签: java ant javac

当我:

<javac srcdir="${src}" destdir="${build.classes.dir}" classpathref="classpath">
    <include name="ObjectInDefaultPackage"/>
    <include name="com/mypackage/**"/>
</javac>

它将不再添加编译并添加默认包中的类ObjectInDefaultPackage(即它没有打包,它位于man $ {src}目录中)。如果我删除了包含它会添加它很好,但是一旦我设置了至少一个包含/排除,我就再也找不到添加它的方法了。

如果我这样做:

<javac srcdir="${src}" destdir="${build.classes.dir}" classpathref="classpath">
</javac>

然后它编译ObjectInDefaultPackage ...

2 个答案:

答案 0 :(得分:2)

使用此:

<include name="ObjectInDefaultPackage*"/>
<include name="com/mypackage/**"/>

没有斜杠,Ant将搜索目标目录,即src。或者使用*.java

不建议在默认包中使用类。

答案 1 :(得分:0)

我刚刚发现了这个问题。愚蠢的错误。这就是当你如此习惯于长时间处理通配符时会发生的事情。

答案是:

<javac srcdir="${src}" destdir="${build.classes.dir}" classpathref="classpath">
    <include name="ObjectInDefaultPackage.java"/>
    <include name="com/mypackage/**"/>
</javac>

注意ObjectInDefaultPackage已更改为ObjectInDefaultPackage **。java **