【发布时间】:2017-02-22 04:09:48
【问题描述】:
我正在尝试使用 QueryDSL 为 Spring Data MongoDb 生成 QClass
根据 spring 文档,我在 pom.xml 中的插件条目如下所示
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>apt-maven-plugin</artifactId>
<version>1.1.3</version>
<executions>
<execution>
<id>process-common-model</id>
<goals>
<goal>process</goal>
</goals>
<configuration>
<outputDirectory>target/generated-sources/apt</outputDirectory>
<processors>
<processor>
org.springframework.data.mongodb.repository.support.MongoAnnotationProcessor
</processor>
</processors>
</configuration>
</execution>
</executions>
</plugin>
我在执行元素上收到以下错误
您需要使用 JDK 运行构建,或者在类路径上有 tools.jar。如果在 eclipse 构建期间发生这种情况,请确保您也在 JDK 下运行 eclipse (com.mysema.maven:apt-maven-plugin: 1.1.3:process:process-common-model:generate-sources)
我曾尝试在网上查找此内容,据我了解,sts 在已安装的 JRE 下运行,该 JRE 缺少用于此执行的 tools.jar。所以人们建议像这样更改 sts.ini 中的 vm 选项:
-vm D:\jde\jdks\jdk1.6.0_37\bin\javaw.exe
相关在线链接为:
Eclipse issue with Maven build and JDK when generating Qclasses in Querydsl
我找不到 sts.ini 或任何可以更改 vm 选项的此类文件。我在 Windows 机器上运行 STS。根据内容,我可以找到与 eclipse.ini 完全相同的 STS 配置设置文件。所以我在其中添加了 -vm 选项,现在这个文件看起来像这样
-startup
plugins/org.eclipse.equinox.launcher_1.3.201.v20161025-1711.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.401.v20161122-1740
-product
org.springsource.sts.ide
--launcher.defaultAction
openFile
-vmC:\Program Files\Java\jdk1.8.0_121\bin\javaw.exe-vmargs
-Dosgi.requiredJavaVersion=1.8
-Xms40m
-Dosgi.module.lock.timeout=10
-Xverify:none
-Dorg.eclipse.swt.browser.IEVersion=10001
-Xmx1200m
修改此文件也不能解决此问题。
谁能告诉我如何解决这个问题?我一整天都被困在这上面。
【问题讨论】:
标签: spring maven spring-data-mongodb querydsl spring-tool-suite