maven - Maven 为 JDK9 做好准备了吗?

标签 maven maven-3 java-9

今天我尝试了 latest jdk9 Build 113并尝试编译my project使用最新的Maven 3.3.9

这些是命令(部分找到 via twitter )

export MVN_OPTS="-Dmaven.compiler.fork -Dmaven.compiler.executable=/somewhere/Downloads/jdk-9/bin/javac"
export JAVA_HOME="/somewhere/Downloads/jdk-9"
mvn clean install

但是我得到this error ...简而言之:

[WARNING] Error injecting: org.codehaus.plexus.archiver.jar.JarArchiver
java.lang.ExceptionInInitializerError
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(java.base@9-ea/Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(java.base@9-ea/NativeConstructorAccessorImpl.java:62)

...

at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
    at org.codehaus.plexus.archiver.zip.AbstractZipArchiver.<clinit>(AbstractZipArchiver.java:116)
    ... 89 more
[WARNING] Error injecting: org.apache.maven.plugin.jar.JarMojo
java.lang.ExceptionInInitializerError
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(java.base@9-ea/Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(java.base@9-ea/NativeConstructorAccessorImpl.java:62)

...

at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
    at org.codehaus.plexus.archiver.zip.AbstractZipArchiver.<clinit>(AbstractZipArchiver.java:116)
    ... 89 more

用于 JDK9 的正确 Maven 配置或参数是什么?

$ mvn --version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T17:41:47+01:00)
Maven home: /home/somewhere/Downloads/maven
Java version: 9-ea, vendor: Oracle Corporation
Java home: /home/somewhere/Downloads/jdk-9
Default locale: en_US, platform encoding: UTF-8
OS name: "linux",...

最佳答案

这是一位 Maven PMC 成员(我)的回答:

不,事实并非如此。罗伯特·斯科尔特正在研究这个问题。拼图和其他东西引入了很多变化。没有给出完全兼容(Maven + 官方插件)的官方时间表。

您看到的问题实际上不是 Maven,而是 Plexus Archiver。请参阅他们的 GitHub 页面。如果您认为可以增加值(value),请联系 maven-dev 邮件列表。

进度文档:https://cwiki.apache.org/confluence/display/MAVEN/Java+9+-+Jigsaw

关于maven - Maven 为 JDK9 做好准备了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46717881/

相关文章:

spring-boot - Neo4j 无法将 java.lang.Long 字段 model.Authority.id 设置为 model.Authority

java - 在 Maven 中,如果插件在未激活的激活配置文件中声明,则扩展打包类型会抛出 "unknown packaging error"

java - 是否可以在 Java 9 中禁用模块?

Java 9 : Exporting packages to unnamed modules fail

java - JLink:在单独的文件中导出java模块

java从文件夹加载文件,但项目是一个模块

java - 无法运行 JBehave 故事

eclipse - 为什么 WTP 插件将一个 Maven 依赖项部署为一个文件夹,而不是一个 jar?

java - 为 Maven 项目获取 java.lang.ClassNotFoundException : com. google.gson.Gson

maven - 无法读取扩展描述符。在中央找不到 Artifact