yur*_*nom 179 java intellij-idea lombok
似乎一切都好.但是当我编译测试时,错误来了:找不到方法getXXX和setXXX.
我用IntelliJ打开了.class文件,发现没有setXXX和getXXX方法.
有人可以告诉我为什么吗?
mik*_*ike 344
为了解决问题集:
确保安装了IntelliJ的Lombok插件!
->
插件Jur*_*sur 46
如果你正在使用Eclipse编译器和lombok,这个设置最终对我有用:
最重要的部分是最后一部分,我看起来如下:
IntelliJ编辑器需要插件才能识别getter和setter,eclipse编译器需要javaagent才能使用lombok进行编译.
小智 14
如果您在Mac上使用Intellij,则此设置最终对我有用。
安装:Intellij
设定:
启用注释处理器
检查是否启用了Lombok插件
在全局库和项目依赖项中添加Lombok jar。
文件->项目结构->项目设置->模块->依赖关系选项卡=检查lombok
重新启动Intellij
wei*_*eng 11
对我来说,lombok插件和注释处理都需要,没有别的.无需使用Eclipse和其他-javaagent:lombok.jar选项.
IDEA 2016.1:
另外如果你使用maven添加到maven-compiler-plugin配置 - > annotationProcessors - > annotationProcessor:lombok.launch.AnnotationProcessorHider $ AnnotationProcessor
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.plugin.compiler.version}</version>
<configuration>
<compilerVersion>${java.version}</compilerVersion>
<source>${java.version}</source>
<target>${java.version}</target>
<annotationProcessors>
<annotationProcessor>lombok.launch.AnnotationProcessorHider$AnnotationProcessor</annotationProcessor>
</annotationProcessors>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)在花了太长时间对此进行故障排除后,我发现了一个简单的解决方法,可确保IntelliJ在构建期间正确处理Lombok注释.
此解决方法不需要gradle-lombok插件.您build.gradle
只需要以下内容:
dependencies {
compileOnly("org.projectlombok:lombok:1.16.18")
}
Run Code Online (Sandbox Code Playgroud)
解决方法是打开以下IntelliJ设置:
Build, Execute, Deployment > Build Tools > Gradle > Runner
Delegate IDE build/run actions to gradle
与此页面上的其他解决方案相比,此解决方法的优点:
一个缺点是IntelliJ将不再使用自己的测试运行器.相反,测试始终通过Gradle运行.
小智 6
这个问题的高级答案都没有解决我的问题.
我设法通过在pom.xml文件中向lombok添加依赖项来解决问题,即:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.12</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我正在使用IntelliJ 2016.3.14和maven-3.3.9
希望我的回答对你有所帮助