我已经在 Eclipse 中导入了 Maven 项目,但在 pom.xml 中出现以下错误 -
项目构建错误: 'dependencyManagement.dependency.dependency.systemPath' 为 jdk.tools:jdk.tools:jar 必须指定绝对路径,但 ${JAVA_HOME}/lib/tools.jar
我是 Maven 的新手,任何帮助将不胜感激。
这是由于缺少 Maven 属性——
JAVA_HOME
。您可以将其添加到您的 pom.xml
<properties>
<!-- your java home -->
<JAVA_HOME>/opt/java/jdk1.8.0_202</JAVA_HOME>
</properties>
Sam Hanes 的回答很棒。不过,有两点:
"INSTALLATION_DIRECOTRY_OF_JDK"/lib/tools.jar
${env.JAVA_HOME}
并且您在 Linux 中,请确保您已正确导出 JAVA_HOME
环境变量。你可以在bash中使用export
命令来查看是否有像declare -x JAVA_HOME=....
这样的行。特别是,您应该像这样编写 .bash_profile 或 .bash_rc: export JAVA_HOME=THE_DIRECOTRY_OF_YOU_JDK
export PATH="$JAVA_HOME/bin:$PATH"
而不是
JAVA_HOME=THE_DIRECOTRY_OF_YOU_JDK
PATH="$JAVA_HOME/bin:$PATH"
如果您在 .bash_profile 或 .bash_rc 中错过了
export
,您仍然可以在 bash 终端中使用 $JAVA_HOME
。然而,Maven 无法识别 env.JAVA_HOME
的含义。
查找
tools.jar
,应该在jdk/lib
中,如果不是则意味着下载最新的jdk或将tools.jar
添加到此位置。这应该可以解决问题。