Spring Boot 2 + Java 9 + Querydsl [英] Spring Boot 2 + Java 9 + Querydsl

查看:70
本文介绍了Spring Boot 2 + Java 9 + Querydsl的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已成功将我的应用程序(Spring Boot + Java + Maven)更新为Spring Boot2.现在,我正在尝试更新为Java 9.

I have successfully updated my application (Spring Boot + Java + Maven) to Spring Boot 2. Now I'm trying to update to Java 9.

根据NicolasFränkel的博客文章(将Spring Boot应用程序迁移到Java 9-兼容性)我完成了不使用模块信息文件就更新到Java 9的工作.但是,当我创建这样的文件时,apt-maven-plugin会卡在创建Q类型上.

According to Nicolas Fränkel's blog post (Migrating a Spring Boot application to Java 9 - Compatibility) I accomplished to update to Java 9 without using a module-info file. But when I create such a file, the apt-maven-plugin gets stucked on creating the Q-types.

有人使用Java 9 + Maven + Querydsl成功完成了吗?

Has anyone successfully completed using Java 9 + Maven + Querydsl?

我对apt-maven-plugin的Maven配置如下:

My Maven configuration for the apt-maven-plugin looks as follows:

     <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>

当我运行 mvn generate-sources 时,该插件仅显示一堆错误消息,不生成任何类并报告成功:

When I run mvn generate-sources, the plugin only prints a bunch of error messages, generates no classes and reports success:

$ 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] ------------------------------------------------------------------------

推荐答案

同时使用QueryDSL + Mapstruct和Lombok:

For using QueryDSL + Mapstruct and Lombok together:

<plugin>
    <groupId>com.mysema.maven</groupId>
    <artifactId>apt-maven-plugin</artifactId>
    <dependencies>
        <dependency>
            <groupId>org.mapstruct</groupId>
            <artifactId>mapstruct-processor</artifactId>
            <version>${org.mapstruct.version}</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>${lombok.version}</version>
        </dependency>
    </dependencies>
    <executions>
        <execution>
            <goals>
                <goal>process</goal>
            </goals>
            <configuration>
                <outputDirectory>target/generated-sources/annotations</outputDirectory>
                <processors>
                    <processor>lombok.launch.AnnotationProcessorHider$AnnotationProcessor</processor>
                    <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
                    <processor>org.mapstruct.ap.MappingProcessor</processor>
                </processors>
            </configuration>
        </execution>
    </executions>
</plugin>

这篇关于Spring Boot 2 + Java 9 + Querydsl的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆