更新时间:2022-10-20 15:09:43
解决方案1
遵循这个链接
Maven APT插件有一个已知问题,可以直接从Eclipse中禁止使用
。 Eclipse用户必须通过在命令
提示符处运行命令mvn generate-sources来手动创建Querydsl查询
。
所以ie使用控制台 cmd
在我的项目浮标中输入命令行 mvn generate-sources
,我得到了我的Qclasses生成。 p>
解决方案2 从@ informatik01评论
我们可以明确地指定的JVM 在 eclipse.ini
中:
-vm
C:\Program Files\Java\jdk1.7.0_45\bin\javaw.exe
-vmargs
...
vm
选项必须在 -vmargs
选项之前,更多信息请阅读@ informatik01评论。
When I add this code below in my pom.xml
to support Querydsl
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>apt-maven-plugin</artifactId>
<version>1.0.6</version>
<executions>
<execution>
<goals>
<goal>process</goal>
</goals>
<configuration>
<outputDirectory>target/generated-sources/java</outputDirectory>
<processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
</plugin>
I got this error when building with Eclipse. I think it has relation with classpath and JDK jars
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.0.6:process:default:generate-sources)
.classpath :
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v8.0">
<attributes>
<attribute name="owner.project.facets" value="jst.web"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>
Extra info :
My maven Installation
JAVA_HOME : C:\Program Files\Java\jdk1.7.0_45
PATH : %JAVA_HOME%\bin;
SOLUTION 1
Following this link
"The Maven APT plugin has a known issue that prevents its usage directly from Eclipse. Eclipse users must create the Querydsl query types manually by running the command mvn generate-sources at command prompt."
So i execute the command line mvn generate-sources
in my project floder with console cmd
and i got my Qclasses generated.
SOLUTION 2 from @informatik01 comment
we can explicitly specified JVM in the eclipse.ini
like that :
-vm
C:\Program Files\Java\jdk1.7.0_45\bin\javaw.exe
-vmargs
...
The -vm
option must occur before the -vmargs
option and for more info read @informatik01 comment below.