Antのjavacタスクのデフォルトのパッケージを含める方法
質問
いつます:
<javac srcdir="${src}" destdir="${build.classes.dir}" classpathref="classpath">
<include name="ObjectInDefaultPackage"/>
<include name="com/mypackage/**"/>
</javac>
これはもはや、コンパイルを追加しないと、それがデフォルトのパッケージにありますObjectInDefaultPackageクラスを追加します(すなわち。それがパッケージングされないです、それは男の$ {SRC}ディレクトリの上に座っています)。私は削除した場合、それは罰金それを追加含まれていないが、私は、少なくとも1つの/除外含ま一度設定すると、私はもはやそれを追加する方法を見つけることができます。
私が行う場合:
<javac srcdir="${src}" destdir="${build.classes.dir}" classpathref="classpath">
</javac>
そして、それはObjectInDefaultPackageをコンパイル...
解決
これを使用します:
<include name="ObjectInDefaultPackage*"/>
<include name="com/mypackage/**"/>
スラッシュがなければ、Antはsrc
である、ターゲットディレクトリで検索します。または*.java
を使用します。
これは、しかし、デフォルトパッケージのクラスを持ってお勧めできません。
他のヒント
私は問題を発見しました。愚かな間違い。それはあなたがとてもとても長いため、ワイルドカードを扱うに使用しているときに何が起こるかです。
答えは次のとおりです。
<javac srcdir="${src}" destdir="${build.classes.dir}" classpathref="classpath">
<include name="ObjectInDefaultPackage.java"/>
<include name="com/mypackage/**"/>
</javac>
お知らせObjectInDefaultPackageは** ObjectInDefaultPackageに変更されました。Javaの**
所属していません StackOverflow