当我跑步时mvn -version,我注意到了java_home要点...jdk\jre(如下图所示).那是错的吗?是不是应该指向...\jdk.x.y.z(没有\jre)?如果是这样,我该如何重置它?(在全局%java_home%指向jdk目录)
C:\Users\Owner>mvn -version
Apache Maven 2.2.1 (r801777; 2009-08-06 15:16:01-0400)
Java version: 1.7.0_17
Java home: C:\Program Files\Java\jdk1.7.0_17\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7" version: "6.1" arch: "amd64" Family: "windows"
Run Code Online (Sandbox Code Playgroud) 我最近在Macbook Pro上升级到了Java7.我下载了JDK(不是JRE).
» javac version
javac 1.7.0_17
» echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)
但是,当尝试运行构建时,其中一个maven编译器插件失败,声称我已经安装了JRE:
» mvn install
[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
at com.mysema.maven.apt.AbstractProcessorMojo.execute(AbstractProcessorMojo.java:263)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
Run Code Online (Sandbox Code Playgroud)
我很困惑,因为我显然安装了JDK.我MAVEN_OPTS不做任何有趣的事情:
» echo $MAVEN_OPTS
-Xmx512m
Run Code Online (Sandbox Code Playgroud)
试图调试,我检查了有问题的插件的来源,这是做以下事情:
try {
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
if (compiler == null) {
throw new MojoExecutionException("You need to run build with …Run Code Online (Sandbox Code Playgroud)