QueryDSL-maven-您需要使用JDK运行构建或在类路径上使用tools.jar

时间:2017-01-18 02:11:56

标签: java eclipse maven querydsl

我有同样的问题,例如this,我尝试了两种解决方案,但没有一种适用于我。

我从github页面复制了querydsl的配置。

所以我的querydsl maven依赖:

    <dependency>
        <groupId>com.querydsl</groupId>
        <artifactId>querydsl-jpa</artifactId>
        <version>4.1.4</version>
    </dependency>

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.6.1</version>
    </dependency>

我的配置:

        <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>
            <dependencies>
                <dependency>
                    <groupId>com.querydsl</groupId>
                    <artifactId>querydsl-apt</artifactId>
                    <version>4.1.4</version>
                </dependency>
            </dependencies>
      </plugin>

我还修改了eclipse.ini,在第一行添加了跟随:

-vm
D:\Program Files\Java\jdk1.8.0_91\bin\javaw.exe

但我在日食中得到同样的错误:

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)

当我在cmd中运行mvn genarate-sources时,会发生同样的错误:

[INFO] --- apt-maven-plugin:1.1.3:process (default) 
[ERROR] execute error
org.apache.maven.plugin.MojoExecutionException: 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

任何人都可以帮助我?

3 个答案:

答案 0 :(得分:2)

如果是STS,请在eclipse.iniSTS.ini中加入以下一行,

-vm {path_to_jdk}\jdk{your_version}\bin\javaw.exe

了解更多信息issue

答案 1 :(得分:1)

最后,我解决了这个问题。原因是我的计算机上安装了JDK1.7和JDK1.8,当我在cmd中运行java -version时,它会出现错误:

 Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion' has value '1.8', but '1.7' is required

我删除了1.7和1.8,重新安装1.8并且evertything很好。我得到了QClass genarated。

我很蠢......

答案 2 :(得分:0)

我终于做到了!我尝试了很多选择,例如thisthis,但是没有运气。然后,我阅读了挽救了我生命的评论,真的,谢谢!我遵循此解决方案,它突然起作用了!在我的情况下应该被接受。

  

执行mvn全新安装后,我将tools.jar从C:\ Program Files \ Java \ jdk1.8.0_151 \ lib复制到C:\ Program Files \ Java \ jre1.8.0_151 \ lib – @julio mulcue burbano