bfe*_*ter 5 querydsl spring-boot java-9
我已成功将我的应用程序(Spring Boot + Java + Maven)更新到 Spring Boot 2。现在我正在尝试更新到 Java 9。
根据 Nicolas Fränkel 的博客文章(将 Spring Boot 应用程序迁移到 Java 9 - 兼容性),我在不使用模块信息文件的情况下完成了更新到 Java 9。但是当我创建这样一个文件时,apt-maven-plugin 会被卡在创建 Q 类型上。
有没有人成功完成使用 Java 9 + Maven + Querydsl?
我的 apt-maven-plugin Maven 配置如下所示:
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>apt-maven-plugin</artifactId>
<version>1.1.3</version>
<executions>
<execution>
<goals>
<goal>process</goal>
</goals>
<configuration>
<outputDirectory>target/generated-sources/java</outputDirectory>
<processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
当我运行mvn generate-sources 时,插件只打印一堆错误消息,不生成任何类并报告成功:
$ mvn generate-sources
...
[INFO] --- apt-maven-plugin:1.1.3:process (default) @ app ---
.../src/main/java/module-info.java:9: error: module not found: java.validation
requires java.validation;
^
.../src/main/java/module-info.java:13: error: module not found: hibernate.jpa
requires hibernate.jpa;
^
...
21 errors
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.484 s
[INFO] Finished at: 2018-04-01T13:11:25+02:00
[INFO] ------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
querydsl 与 hibernate 5.2 尚不兼容,请参阅此处https://github.com/querydsl/querydsl/issues/1917 (与您提到的错误无关,但很高兴知道...)
关于您的错误,您可以尝试使用https://plugins.gradle.org/plugin/net.ltgt.apt?我不得不使用它,因为我无法同时使用 QueryDSL 和 Lombok...
plugins {
id "net.ltgt.apt" version "0.12"
}
apply plugin: "net.ltgt.apt"
compileJava {
aptOptions.processors =
['com.querydsl.apt.jpa.JPAAnnotationProcessor', 'lombok.launch.AnnotationProcessorHider$AnnotationProcessor']
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4172 次 |
| 最近记录: |