我在gradle项目中使用lombok,希望创建一个jar文件,但每次我执行jar任务(无论是在控制台还是eclipse ide中触发)时,我都会发现错误,我的lombok导入在我使用lombok注释的类中找不到。输出示例:
... other lombok related error messages ...
/test/entity/geo/Region.java:11: error: package lombok does not exist
import lombok.EqualsAndHashCode;
^
/test/entity/geo/Region.java:12: error: package lombok does not exist
import lombok.NoArgsConstructor;
^
/test/entity/geo/Region.java:37: error: cannot find symbol
@Data
^
symbol: class Data
100 errors
FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':compileJpaModelgen'.
> Compilation failed; see the compiler error output for details.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
搜索了一段时间后,我发现有一个适用于gradle和lombok的插件,但在使用较新的gradle版本编译时并不真正需要。我的gradle版本是3.4.1和lombok 1.6.18。
在另一个线程中,我发现可能有一个类似的错误,但使用maven。我想在我的build.gradle中尝试这个,但我不知道如何编写/定义这个...
使用我的Eclipse ide启动和运行我的Spring Boothtml" target="_blank">应用程序工作正常;只有gradle compileJava任务在编译时似乎与lombok有问题。
这是我的build.gradle:
buildscript {
repositories {
mavenCentral()
jcenter()
}
dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:+") }
}
plugins {
id 'at.comm_unity.gradle.plugins.jpamodelgen' version '1.1.3'
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'at.comm_unity.gradle.plugins.jpamodelgen'
apply plugin: 'war'
war {
baseName = 'test'
version = '0.0.1'
}
repositories { mavenCentral() }
sourceCompatibility = 1.8
targetCompatibility = 1.8
dependencies {
compile "org.springframework.boot:spring-boot-starter-data-jpa"
compile "org.springframework.boot:spring-boot-starter-data-rest"
compile("org.springframework.boot:spring-boot-devtools")
compile"org.springframework.boot:spring-boot-starter-test"
compile 'org.postgresql:postgresql:42.1.1'
compile 'javax.validation:validation-api:2.0.0.CR2'
compile 'org.hibernate:hibernate-java8:5.2.10.Final'
compile 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.8.9'
compileOnly('javax.servlet:jstl')
compile('org.apache.tomcat.embed:tomcat-embed-jasper')
compile('org.springframework.boot:spring-boot-starter-tomcat')
compileOnly group: 'org.projectlombok', name: 'lombok', version: '1.16.18'
compile "com.google.guava:guava"
compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.5'
testCompile('org.springframework.boot:spring-boot-starter-test')
}
sourceSets {
generated { java.srcDir "${buildDir}/generated/src/java/" }
}
ext['hibernate.version'] = '5.2.10.Final'
jpaModelgen {
library = "org.hibernate:hibernate-jpamodelgen:5.2.10.Final"
jpaModelgenSourcesDir = "src/generated/java"
}
compileJava.options.compilerArgs += ["-proc:none"]
compileJava.options。编译器args=[“-proc:only”,]
问题内容: 我有一堂课,看起来像这样: 在这里,我不得不写a,因为如果我想在使用Lombok时返回Optional,则必须声明为。这将生成一个接受的生成器方法! 还有其他方法可以使用lombok 吗? 问题答案: 答案是否定的,可能永远也不会。 您可能做错了:-) 并不是预防的替代品,也不是预防的奇特方法。这表示该问题无法回答,例如:空人员列表的平均年龄是多少。 绝对不应传递,而应尽快由调用代码取
我有一个名为Address的类,如下所示: 在这里,我不得不编写生成器和Getter,因为如果我想在使用Lombok时返回一个Optional,我必须将第2行声明为Optional 是否有其他方法可以将lombok与
我试着在IntelliJ上使用Lombok和Maven和VRaptor,但它不起作用。 我已经在stackoverflow中阅读了一些信息,但没有解决我的问题,我已经在Intellij中启用了注释处理器,但仍然一无所获。 我也试图从命令行(Windows)编译它,但没有成功。 我还尝试在没有maven的情况下创建另一个项目,添加库,创建一些用于测试的类,它可以完美地工作、编译和运行。 有什么帮助吗
我在Intellij遇到了一个奇怪的问题。我正在使用Lombok(1.18.2)、IntelliJ(2018.2.2)和JUnit 5在gradle 4多模块项目中。 我花了好几个小时来复制这个。 > 运行所有具有覆盖率测试用例。 移除龙目镜并在此之后生成吸气剂和定型剂也没有效果。 尝试了一切来解决这个问题(启用注释处理器、Lombok插件、清理构建),但没有成功。 编辑1: Root build
问题内容: 我正在尝试向使用Lombok的现有Java Maven项目添加常规功能。不幸的是,当我用下面的pom片段启用groovy-maven- eclipse编译器时,我的带有lombok注释的Java文件无法编译。据我所知,Lombok根本不参与Java文件的编译。 我还应该指出,在eclipse中(使用m2e)一切正常。当我尝试执行mvn软件包时,会出现我的问题。 问题答案: @Todd:
我试图通过以下当前线程创建我自己的Lombok转换-为Lombok创建自定义注释 我已经通过maven导入了lombok,但仍然无法解决很多依赖项,例如:等 马文: 你知道为什么吗?