1

私がいつ:

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

コンパイルを追加せず、デフォルト パッケージにあるクラス ObjectInDefaultPackage を追加します (つまり、パッケージ化されておらず、man ${src} ディレクトリにあります)。インクルードを削除すると問題なく追加されますが、少なくとも 1 つのインクルード/エクスクルードを設定すると、それを追加する方法が見つかりません。

私が行った場合:

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

次に、ObjectInDefaultPackage をコンパイルします...

4

2 に答える 2

2

これを使って:

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

スラッシュがない場合、Ant はターゲット ディレクトリであるsrc. または使用します*.java

ただし、デフォルト パッケージにクラスを含めることはお勧めしません。

于 2009-07-06T03:44:52.203 に答える
0

私はちょうど問題を発見しました。愚かな間違い。これは、長い間ワイルドカードを扱うことに慣れているときに起こることです。

答えは次のとおりです。

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

ObjectInDefaultPackage が ObjectInDefaultPackage**.java** に変更されたことに注意してください

于 2009-07-06T03:56:17.110 に答える