web-dev-qa-db-ja.com

Javaコンパイルエラーは100に制限されています

Javaファイルがあります。コンパイルすると、コンソールに最初の100個のエラーしか表示されません。その後Javaコンパイラ(javac)が終了します。コンソールですべてのコンパイルエラーを確認するにはどうすればよいですか?よろしくお願いします-opensid

35
openssid

通常、コンパイラは100エラー後にあきらめます。この時点以降のエラーのほとんどは、最初のエラーの1つが原因である可能性があります。さらにエラーが必要な場合は、javacオプションを確認してください-Xmaxerrsおよび-Xmaxwarns

35
krock

Gradleを使用している場合:

allprojects {
  gradle.projectsEvaluated {
    tasks.withType(JavaCompile) {
        options.compilerArgs << "-Xmaxerrs" << "1000"
    }
  }
}
19
DallinDyer

-Xmaxerrorsコマンドラインオプションを試しましたか?行く ここ そして「maxerrors」を検索する

5
Peter Recore

Eclipseを使用している場合、Preferences > Java > Compiler > Building > Generalを使用すると、ユニットごとにより多くの問題を指定できます。

2
trashgod

また、antを使用している場合は、必ず

<compilerarg value="-Xmaxerrs"/>
<compilerarg value="5"/>

ではなく

<compilerarg value="-Xmaxerrs 5"/>

私はいつも忘れます。

2
Jim

antを使用している場合、以下が機能します。

<compilerarg line="-Xmaxerrs 10000" />

上記の回答のように「value」引数ではなく「line」引数を使用していることに注意してください https://stackoverflow.com/a/42396745/220069

2
Suketu Bhuta

Javaコンパイラは、ファイルのコンパイル時に特定の数のエラーが発生するとあきらめます。Javaは、エラー後にソースを期待される状態に再同期するのが難しい言語の1つだからです。これは、1つの誤って配置されたセミコロンが、ほとんどまたはまったくない数十のエラー(または、極端なEdgeの場合はそれ以上—way)を生成する可能性があることを意味します。実際のエラーを処理します。ソースコードの「すべてのエラー」を出力しても意味がありません。それらの大部分はファントムエラーである可能性が高いからです。

コンパイラの出力で見つかる最初のいくつかの明確で理解しやすいエラーを修正して、再試行してください。 (ソースの残りの部分でこれらのエラーのバリアントを探すことを忘れないでください!)コンパイルの実行ごとにエラーメッセージを増やすことはおそらく役に立たず、代わりに、実際には、当惑して落胆するだけです。

Windowsオペレーティングシステムを使用している場合は、コマンドプロンプトを使用してソースをコンパイルしてみてください。その場合、そのコマンドプロンプトはエラー時に終了しません。

0
User 1034