【发布时间】:2017-09-30 07:20:09
【问题描述】:
在尝试新发布的 JDK 9 时,我注意到它似乎完全破坏了 maven。即使是简单的mvn -version 也行不通:
vgm@localhost:~$ mvn -version
Error: Could not find or load main class org.codehaus.plexus.classworlds.launcher.Launcher
Caused by: java.lang.ClassNotFoundException: org.codehaus.plexus.classworlds.launcher.Launcher
当我切换回openjdk8时,它说maven版本是3.3.9。
我尝试设置JAVA_HOME 和MVN_OPTS,但没有效果。这些是我的设置:
vgm@localhost:~$ echo $JAVA_HOME
/usr/java/jdk-9
vgm@localhost:~$ echo $MVN_OPTS
-Dmaven.compiler.fork -Dmaven.compiler.executable=/usr/bin/javac
【问题讨论】:
-
建议更新并尝试安装
3.5.0。另外,如果您设置了 M2_HOME,请执行 follow this. -
此外,在您的情况下,MVN_OPTS 编译器指向不同的 javac 版本`/usr/bin/javac`,将其更改为
/usr/java/jdk-9/bin/javac可能会有所帮助。看看stackoverflow.com/questions/36583118/is-maven-ready-for-jdk9 -
mvn -version与3.5.0一起使用,但构建仍然失败,因为 maven 正在尝试查找tools.jar。 javac 路径是一个软链接,它指向正确的位置。 -
构建仍然失败.. 到目前为止,问题中没有关于构建失败的详细信息。另外如果你正在尝试构建一个项目,你能分享它的 pom.xml 的
<build>信息吗? -
你是对的,它在一个最小的示例项目上运行良好。如果我再次卡住,我会提出一个新问题。谢谢!