問題タブ [ecj]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
903 参照

java - Eclipse Java コンパイラ (ecj) がこれをコンパイルできないのはなぜですか?

次のコードがあります。

このコードは、javac 1.8.0_101 でコンパイルすると正常に動作し、期待どおりに 0 から 9 の数値を生成します。

しかし、このコードを Eclipse で使用すると、次のように表示されo.iます。

そして、これを実行するとエラーが発生します:

このコードをコンパイルするために javac を使用する必要があるのはなぜですか?
そして、どうすればEclipseを動作させることができますか?

編集

私はいくつかのテストを行いましたが、ラムダでインスタンスを作成しない限り、ecj で動作します。

0 投票する
0 に答える
170 参照

java - ECJ が IllegalArgumentException 処理 log4j 注釈で失敗する

私は自分のプロジェクトで log4j 2.11.1 を使用しており、@Plugin アノテーションを使用していくつかのカスタム アペンダーと構成ファクトリを作成しました。

これは、Eclipse 4.9 と IntelliJ の両方で、エラーなしで問題なくコンパイルされます。ただし、Eclipse バッチ コンパイラを実行すると、同じコードが IllegalArgumentException で失敗します。

このレポでは、この問題を再現するための最小限のプロジェクトを作成しました。ECJ のバージョン 4.7 と 4.9 を使用してみました。また、Java 8 OpenJDK と Oracle を使用してみました。すべて Ubuntu 18.04 マシンで実行しました。

ここで何が起こっているのか手がかりはありますか?

編集: OSX マシンで Java10 を使用しようとすると、同じエラーが表示されます。

0 投票する
2 に答える
521 参照

java - 致命的なコンパイル エラー: ecj コンパイラの実行に失敗しました: 認識されないオプション: --module-version

次の組み合わせを実行しようとしています:

  • メイヴン (3.6.1)
  • OpenJDK 11
  • module-info.java を使用

空の compilerArgs ノードを追加しようとしましたが、役に立ちませんでした。

module-info.java を削除すると問題は解決しますが、それは私が望んでいることではありません。

また、ソースhttp://central.maven.org/maven2/org/apache/maven/plugins/maven-compiler-plugin/3.8.1/を見ました

特に CompilerMojo.java のソース:

module-version は常に追加されるため、これを抑制する方法はないようです:

ecj のドキュメントを見ると、「module-version」引数がありません

https://help.eclipse.org/oxygen/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftask-using_batch_compiler.htm

というわけで、今のところうまくいかないようです!?

Maven プラグイン セクション: