【问题标题】:Spring Tool Suite issue with Maven build and JDK when generating Qclasses in Querydsl在 Querydsl 中生成 Qclass 时,Maven 构建和 JDK 的 Spring Tool Suite 问题
【发布时间】: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

相关在线链接为:

http://forum.spring.io/forum/spring-projects/data/126292-issues-with-querydsl-and-maven-pom-in-eclipse

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


    【解决方案1】:

    这里是关于 eclipse.ini 文件的文档(sts.ini 文件是相同的,但用于 STS):

    https://wiki.eclipse.org/Eclipse.ini

    根据本文档,您必须将“-vm”放在 ini 文件的第一行,并将 javaw.exe 的路径放在第二行。在第三行,ini 文件的其余部分开始(带有“-startup”行)。

    希望对你有帮助!!!

    【讨论】:

    • 我读了所有这些。但是,我在 Windows 的 sts 中没有看到 .ini。
    • 您能否仔细检查一下您下载并解压的 STS 发行版 ZIP 文件中是否包含 sts.ini 文件?
    猜你喜欢
    • 2014-08-20
    • 2019-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-25
    • 1970-01-01
    • 2015-05-14
    • 1970-01-01
    相关资源
    最近更新 更多