23

Antタスクを実行javacしているときにコンパイラの出力を確認する明確に説明された簡単な方法はありますか?

これが私のjavacAntタグです:

<javac srcdir="${myproject.src}" destdir="${myproject.class}">
    <!-- ... -->
</javac>

これが私が得る唯一のエラーメッセージです:

/path/to/build.xml:42: Compile failed; see the compiler error output for details.

問題は、コンパイラのエラー出力の詳細を確認する方法がわからないことです...


役立つかもしれないいくつかの構成要素:

  • アリ 1.6.5
  • ウィンドウズ 7 x64
  • Java 1.6.0_20 x32
  • Eclipse によるターゲットの起動

SO に関する回答済みの関連する質問がいくつかあることは知っていますが、この単純な質問に実際に回答するものはありません。

4

5 に答える 5

8

verbose="true"属性 を探していると思います。

詳細な出力をコンパイラに要求します。デフォルトはいいえです。

コメントで、これはエラーの原因を出力しないとすでに述べました。さて、あなたの状況では何か他のことが起こっていると思います。サンプル プロジェクトがあり、どちらにしてもエラーの原因が出力されました。出力は次のverbose="false"とおりです。

[mkdir] Created dir: C:\Projects\MavenSandbox\target\classes
[javac] C:\Projects\MavenSandbox\mavensandbox.xml:284: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 3 source files to C:\Projects\MavenSandbox\target\classes
[javac] C:\Projects\MavenSandbox\src\main\java\com\sandbox\Sandbox.java:8: error: cannot find symbol
[javac]         System.out.prinln("Hello, I\'m the best!");
[javac]                   ^
[javac]   symbol:   method prinln(String)
[javac]   location: variable out of type PrintStream
[javac] 1 error

コードに特有の奇妙な何かが、不適切なエラー メッセージの原因となっています。エラーを再現するサンプルプロジェクトを作成できますか?


あなたが言ったように、debug="true"あなたが探している属性ではありません。

デバッグ情報を使用してソースをコンパイルする必要があるかどうかを示します。デフォルトはオフです。オフに設定すると、-g:none は、それをサポートするコンパイラのコマンド ラインで渡されます (他のコンパイラでは、コマンド ライン引数は使用されません)。true に設定すると、debuglevel 属性の値によってコマンド ライン引数が決まります。

スタック トレースを取得すると、そこに行番号が表示されます。それdebug="true"がそうです。オフの場合、行番号は取得されません。

于 2013-07-05T17:33:11.277 に答える
0

これを使って

<javac srcdir="src" destdir="build/classes" debug="true">
            <classpath>
                <path refid="classpath"/>
            </classpath>
</javac>
于 2013-07-05T18:07:56.363 に答える
0

詳細情報なしで同じエラーメッセージが表示されました。問題は、.jar ファイルの 1 つが破損していたことでした。その .jar ファイルを置き換えると、問題が解決しました。

于 2016-06-30T19:47:27.760 に答える
0

属性デバッグを追加する必要があります

<javac srcdir="${myproject.src}" destdir="${myproject.class}" debug="true>
    <!-- ... -->
</javac>
于 2013-07-05T15:13:26.980 に答える