我的问题与“https://stackoverflow.com/questions/35236104/gradle-build-fails-on-lombok-annotated-classes”有关。 我正在使用 JHipster 和 Lombok 1.16.18
build.gradle
:
...
apply plugin: 'net.ltgt.apt'
...
dependencies {
provided "org.projectlombok:lombok:${lombok_version}"
apt "org.projectlombok:lombok:${lombok_version}"
}
...
但是编译Java的时候出现如下错误:
warning: lombok.javac.apt.LombokProcessor could not be initialized.
Lombok will not run during this compilation:
java.lang.IllegalArgumentException: com.sun.tools.javac.api.ClientCodeWrapper$WrappedStandardJavaFileManager extends com.sun.tools.javac.api.ClientCodeWrapper$WrappedJavaFileManager implements javax.tools.StandardJavaFileManager
输出为:
------------------------------------------------------------ Gradle 4.2.1 ------------------------------------------------------------
Build time: 2017-10-02 15:36:21 UTC
Revision: a88ebd6be7840c2e59ae4782eb0f27fbe3405ddf
Groovy: 2.4.12
Ant: Apache Ant(TM) version 1.9.6 compiled on June 29 2015 JVM: 9.0.1 (Oracle Corporation 9.0.1+11)
OS: Mac OS X 10.13.1 x86_64
我在这里错过了什么?
gradlew -v
的输出显示您正在使用 JHipster 4.10.2 不支持的 JDK 9,请使用 JDK 8。Lombok 也是如此。
------------------------------------------------------------ Gradle 4.2.1 -------
Build time: 2017-10-02 15:36:21 UTC
Revision: a88ebd6be7840c2e59ae4782eb0f27fbe3405ddf
Groovy: 2.4.12
Ant: Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM: 9.0.1 (Oracle Corporation 9.0.1+11)
OS: Mac OS X 10.13.1 x86_64
当我们从 JDK 8 迁移到 JDK 9 时,我在我的项目中遇到了类似的警告。
升级 lombok 版本帮助我消除了错误。
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.20</version>
<scope>provided</scope>
</dependency>
我在这里找到了参考资料 https://github.com/rzwitserloot/lombok/issues/1541
如果你使用的是 gradle,这对我有用
dependencies { annotationProcessor group: 'org.projectlombok', name: 'lombok', version: '1.18.16'}
我有一个类似的问题,原来我弄乱了我的项目设置,无意中将项目 JVM 设置为 11,而不是“正确”的 8。
我将它重置为 8,它又开始工作了。