私は投稿を終了しました このSOの問題 Lombokがゲッター/セッターを生成しないことについて。 AspectJと競合していることがわかりました。 AspectJを無効にすると、getter/setterが適切に生成されます。
私の推測では、ajcコンパイラーはロンボクを認識できません。
ロンボクとAspectJは相互に排他的ですか?両方のテクノロジーは連携して機能しますか?
AspectJメンテナのAndy Clementによる現在の回答は、AspectJコンパイラインフラストラクチャに含まれ、名前が変更されたECJ(Eclipse Compiler for Java)パッケージが原因で問題があるということです。
詳細については、AspectJユーザーのメーリングリストでEric B.とA. Clementの間で進行中の議論があります。
多分私達はこの答えでここで問題を閉じ、問題が解決されたら報告することができます。
Project Lombokを依存関係としてアスペクトj-maven-pluginに追加します。
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
<scope>compile</scope>
</dependency>
例えば:
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.8</version>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${aspectj.version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
<version>${aspectj.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
<scope>compile</scope>
</dependency>
</dependencies>
<configuration>
<source>${Java.version}</source>
<target>${Java.version}</target>
<complianceLevel>${Java.version}</complianceLevel>
<encoding>${project.build.sourceEncoding}</encoding>
<verbose>true</verbose>
<privateScope>true</privateScope>
<showWeaveInfo>true</showWeaveInfo>
<outxml>true</outxml>
</configuration>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>compile</goal>
<goal>test-compile</goal>
</goals>
<configuration>
<aspectLibraries combine.self="override">
<aspectLibrary>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
</aspectLibrary>
</aspectLibraries>
</configuration>
</execution>
</executions>
</plugin>