JAVA_HOME和maven依赖项的奇怪问题

mic*_*nko 14 maven-2 java-home

我将JAVA_HOME变量设置为C:\Program Files\Java\jre6\当我在项目上运行maven包时它告诉我它无法解析依赖项

[ERROR] Failed to execute goal org.codehaus.mojo:aspectj-maven-plugin:1.0:compile (default) on project roo: Execution default of goal o
rg.codehaus.mojo:aspectj-maven-plugin:1.0:compile failed: Plugin org.codehaus.mojo:aspectj-maven-plugin:1.0 or one of its dependencies
could not be resolved: Could not find artifact com.sun:tools:jar:1.4.2 at specified path C:\Program Files\Java\jre6/../lib/tools.jar ->
[Help 1]
Run Code Online (Sandbox Code Playgroud)

所以它假设JAVA_HOME实际上比实际更深一层,我查看了maven本地存储库并发现log4j 1.2.16使用了这个依赖

我试着让JAVA_HOME看起来像C:\Program Files\Java\jre6\bin\然后maven不会运行,它告诉我我的JAVA_HOME路径错了

mor*_*itz 16

您将需要Java JDK而不仅仅是JRE.您可以在Oracle的Java页面上获得一个

编辑:从Maven属性指南:

${java.home} specifies the path to the current JRE_HOME environment use with relative paths to get for example:
<jvm>${java.home}../bin/java.exe</jvm>
Run Code Online (Sandbox Code Playgroud)

并且在c:\jdkmaven $ {java.home}中指向JDKc:\jdk\jre


小智 8

我也发现这帮助了我.

...使用Eclipse,您需要验证已安装的JRE是否正在使用JDK安装.

这意味着在配置选项中... Window/Preferences/Java/Installed JRE ...您应该指向JDK安装.

您需要更改jdk中jre的路径.对于%Program Files%\ Java\jdk1.6.0_25\jre

  • 我还必须在eclipse.ini'-vm C:\ Program Files\Java\jdk1.6.0_31\bin\javaw.exe'中设置VM (2认同)