4

Java 8早期アクセスリリースの1つを使用して、lombok.jarで注釈が付けられたファイルをmaven 3でコンパイルしようとしています。Java 8コンパイラを使用するように設定しました。私がコンパイルしているコードには、maven central で lombok 0.12 用に定義された依存関係があります。ただし、maven でコンパイルすると、次のエラーが発生します。

[ERROR] symbol:   variable log
[ERROR] location: class Foo
[ERROR] C:.....\Foo.java:[319,33] error: cannot find symbol

Maven をデバッグ モードで実行しましたが、指定されたクラスパス エントリは、lombok 0.12 jar ファイルがプロジェクトのクラスパスにあることを示しています。さらに、lombok.jar を特にクラスパスに設定しようとしました (そして、maven デバッグ モードの env.CLASSPATH で確認できます)。これにより、同じ結果が得られます。

すべてが日食で問題なくビルドおよびコンパイルされます-日食以外でコンパイルを成功させることができないように、maven構成/環境で何が間違っていますか?

4

1 に答える 1

6

私自身の質問に答えるために-問題は、バージョンの lombok (0.12.0) が Java 8 でうまく機能しないことです。修正するために、 lombok の最先端バージョンを使用し、次の行でローカルの Maven リポジトリにインストールしました

mvn install:install-file -Dfile=lombok-edge.jar -DgroupId=org.projectlombok -DartifactId=lombok-edge -Dversion=0.12.1 -Dpackaging=jar 

それに応じて私のpomの依存関係を変更しました。

それをしたら、コマンドラインmavenからコンパイルできました。

于 2013-10-05T01:42:51.117 に答える