关于如何设置项目有很多不同的信息,因此生成JPA元模型可在构建中使用,但对我而言这些都不可用。我正在使用Java 11,gradle 5.4.1和STS(尝试了STS 3.9.8和4.2.1)。 我对注解的gradle设置如下:
annotationProcessor(
"javax.xml.bind:jaxb-api",
"org.projectlombok:lombok",
"org.hibernate:hibernate-jpamodelgen",
)
compileJava {
def relativePath = "out/production/classes/generated"
sourceSets.main.java {
srcDir(relativePath)
}
def generatedSourceDir = project.file(relativePath)
options.annotationProcessorGeneratedSourcesDirectory = generatedSourceDir
}
我也已经在项目>属性> Java编译器>注释处理上单击鼠标右键,然后选择:
out/production/classes/generated
在>我选择的工厂路径中:
hibernate-jpamodelgen-5.3.7.Final.jar
javax.persistence-api-2.2.jar
有人可以看到我想念还是做错了吗?谢谢。
答案 0 :(得分:0)
我使用net.ltgt.apt-eclipse
插件使其运行。
我关注了博客文章:http://dplatz.de/blog/2018/gradle-apt.html
我正在使用Eclipse 2019-03和Gradle 5.4.1
正如博客中描述的另一个注释处理器一样,我将描述此处采取的步骤
net.ltgt.apt-eclipse
插件。
build.gradle
如下所示:plugins {
id 'org.springframework.boot' version '2.1.4.RELEASE'
id 'java'
id "net.ltgt.apt-eclipse" version "0.18"
}
apply plugin: 'io.spring.dependency-management'
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
compileOnly 'org.projectlombok:lombok:1.16.18'
runtimeOnly 'com.h2database:h2'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
annotationProcessor(
"javax.xml.bind:jaxb-api",
"org.projectlombok:lombok",
"org.hibernate:hibernate-jpamodelgen"
)
}
gradle eclipseJdtApt eclipseFactorypath eclipseJdt
重新导入了gradle项目。清理项目。
右键单击该项目,然后选择Gradle / Refresh Gradle Project
。然后,Project / Clean
检查了Properties / Java Compiler / Annotation Processing / Factory Path
中是否存在JPA批注处理器注意:我依次输入以下内容:
运行版本
请注意,我删除了生成文件的自定义目录,现在它们已生成到.apt_generated
,但对此我感到满意。
希望有帮助!