SpringBoot项目整合JPA+QueryDSL,及apt-maven-plugin报错问题解决
闲暇之余项搞个JPA的Demo,采用的是SpringBoot + JPA + QueryDSL,开发工具为Eclipse。
JPA官网:https://spring.io/projects/spring-data-jpa
QueryDSL官网:http://www.querydsl.com/
QueryDSL各版本使用说明:http://www.querydsl.com/static/querydsl/(包含了:apidocs-api文档,reference-使用说明,jar包)
JPA依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
QueryDSL依赖:
<!-- JPA功能扩展QueryDSL -->
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>4.2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
<version>4.2.1</version>
</dependency>
<!--QueryDSL需要的slf4j -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.1</version>
</dependency>
配置QueryDSL Maven APT plugin插件:
<!--
JPAAnnotationProcessor查找使用javax.persistence.Entity批注进行批注的域类型,并为其生成查询类型。
如果您在域类型中使用Hibernate注释,则应改用APT处理器 com.querydsl.apt.hibernate.HibernateAnnotationProcessor 。
运行clean install,您将把查询类型生成到target/generated-sources/java中。
如果使用Eclipse,请运行mvn eclipse:eclipse来更新Eclipse项目,以将target/generated-sources/java包含为源文件夹。
-->
<build>
<plugins>
<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>
</plugins>
</build>
在配置apt-maven-plugin插件时,发现pom文件中一直报错:
You need to run build with JDK or have tools.jar on the classpath.If this occures during eclipse build make sure you run eclipse under JDK as well (com.mysema.maven:apt-maven-plugin:1.1.3:process:default:generate-sources)
解决办法:
1、指定eclipse的JDK。在eclipse安装目录下eclipse.ini文件中增加- vm D:\Program Files\Java\jdk1.8.0_221\bin\javaw.exe。
JDK路径改成自己的JDK安装目录。
-vm
D:\Program Files\Java\jdk1.8.0_221\bin\javaw.exe
-startup
plugins/org.eclipse.equinox.launcher_1.5.500.v20190715-1310.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.1100.v20190907-0426
-product
org.eclipse.epp.package.jee.product
.............
2、复制D:\Program Files\Java\jdk1.8.0_221\lib文件夹下的“tools.jar”到D:\Program Files\Java\jdk1.8.0_221\jre\lib文件夹内。
JDK路径改成自己的JDK安装目录。
3、window---preferences ---java---installed JREs,打开编辑界面,把D:\Program Files\Java\jdk1.8.0_221\jre\lib下的tools.jar添加进来。如下图所示:
4、选中项目---右键---maven---update project,报错问题解决。