plugin compiler maven maven-3 java-9

compiler - maven 3.3.9 download



¿Maven está listo para JDK9? (6)

Actualización: debería funcionar sin esta solución ahora.

El problema ya está solucionado por el equipo del archivador de plexos, pero aún no se ha publicado, ¡gracias a Michael-O por señalarme al lugar correcto :)!

Ahora hay una solución alternativa publicada desde ctomc en PR 12 para usar un antiguo archivador de plexo versión 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>

Hoy probé el último jdk9 Build 113 e intenté compilar mi proyecto con el último Maven 3.3.9

Estos son los comandos (encontrados parcialmente a través de 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

Pero me sale este error ... en resumen:

[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

¿Cuál es la configuración o los parámetros correctos de Maven para usar con 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",...


Aquí está la respuesta de un miembro de Maven PMC (yo):

No, no es. Robert Scholte está trabajando en ello. Rompecabezas y otras cosas introdujeron muchos cambios. No hay un marco de tiempo oficial en el que se proporcionará compatibilidad total (complementos oficiales de Maven +).

El problema que ves no es en realidad Maven sino Plexus Archiver. Consulte su página de GitHub. Si cree que puede agregar valor, comuníquese con la lista de correo de maven-dev.

Documentación de progreso: https://cwiki.apache.org/confluence/display/MAVEN/Java+9+-+Jigsaw


Creo que Maven está listo ahora, para mí el siguiente fragmento puede decirle a Maven que use Java 9:

<build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>9</source> <target>9</target> </configuration> </plugin> </plugins> </build>


El complemento de documentación de Java todavía tiene problemas en la última versión. (3.0.0.M1)


Sí, ya está listo. Todavía hay algunas cosas en progreso, pero generalmente utilizables. Mira un proyecto mío como ejemplo.


Tuve el mismo problema y el último plugin maven-javadoc que se publicó recientemente lo solucionó. Se actualizó la dependencia en el archivo pom a <version>3.0.0-M1</version>