Kar*_*ell 52 maven-3 maven java-9
今天我尝试了最新的jdk9 Build 113,并尝试使用最新的Maven 3.3.9 编译我的项目
这些是命令(部分通过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
Run Code Online (Sandbox Code Playgroud)
但是我得到了这个错误 ......简而言之:
[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
Run Code Online (Sandbox Code Playgroud)
什么是正确的maven配置或用于JDK9的参数?
$ 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",...
Run Code Online (Sandbox Code Playgroud)
Mic*_*l-O 38
以下是Maven PMC成员(我)的回答:
不它不是.Robert Scholte正在研究它.拼图和其他东西引入了很多变化.没有正式的时间框架将提供完整的compat(Maven +官方插件).
你看到的问题实际上不是Maven而是Plexus Archiver.请参阅他们的GitHub页面.如果您认为可以增加价值,请联系maven-dev邮件列表.
进度文档:https://cwiki.apache.org/confluence/display/MAVEN/Java+9+-+Jigsaw
Kar*_*ell 11
更新:现在应该没有此解决方法.
这个问题已经从plexus Archiver团队修复,但还没有发布 - 感谢Michael-O将我指向正确的地方:)!
现在,从PR 12中的 ctomc发布了一个解决方法,使用旧的plexus归档器版本2.4.4:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4.1</version>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId>
<version>2.4.4</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId>
<version>2.4.4</version>
</dependency>
</dependencies>
</plugin>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
20732 次 |
最近记录: |