2016-04-12 7 views
43

Heute habe ich versucht, die latest jdk9 Build 113 und versuchte my project mit der neuesten Maven 3.3.9Ist Maven bereit für JDK9?

Diese sind die Befehle zu kompilieren

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 

(teilweise via twitter gefunden) Aber ich this error bekommen ... kurz gesagt:

[WARNING] Error injecting: org.codehaus.plexus.archiver.jar.JarArchiver 
java.lang.ExceptionInInitializerError 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0([email protected]/Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance([email protected]/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([email protected]/Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance([email protected]/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 

Was ist die korrekte Mavenkonfiguration oder Parameter für 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",... 
+0

Es ist wie Maven sieht immer noch einige Probleme hat. Sie können dieses Projekt versuchen: https://github.com/forax/pro – user1735594

Antwort

15

Ja eine alte Plexus Archivierungs Version zu verwenden, ist es nun fertig ist. Noch ein paar Dinge im Gange, aber allgemein brauchbar. Auschecken a project of mine als Beispiel.

+1

Das Projekt, das Sie freigegeben haben, verwendet Compiler und Jar-Plugins, aber wir werden mehr Plugins wie Jlink, Jmod, Jdeps bekommen. Und das Projekt bietet keine Beispiele mit automatischen Modulen und unbenannten Modulen. Ich denke Maven Team arbeitet immer noch an ihnen. –

+0

Nicht sicher was .. * aber allgemein verwendbar * .. bedeutet hier. Zu allgemein eine Antwort, glaube ich. Im Idealfall würde die andere [eine von Michael] (https://stackoverflow.com/a/36584317/1746118) stattdessen eine zuverlässige Quelle sein. – nullpointer

+0

Das M2E-Plugin für Eclipse scheint nicht bereit zu sein: https://stackoverflow.com/questions/47228377/how-to-use-maven-with-java9-0-1-and-pom-packaging-in-eclipse -oxygen-1a-release – Stefan

33

Hier ist die Antwort von einem Maven PMC Mitglied (me):

Nein, es nicht ist. Robert Scholte arbeitet daran. Jigsaw und andere Sachen brachten viele Änderungen mit sich. Es gibt keinen offiziellen Zeitrahmen, in dem vollständige Kompatibilität (Maven + offizielle Plugins) gegeben wird.

Das Problem, das Sie sehen, ist eigentlich nicht Maven, sondern Plexus Archiver. Siehe ihre GitHub-Seite. Wenn Sie glauben, dass Sie einen Mehrwert schaffen können, wenden Sie sich an die Maven-Dev-Mailingliste.

Fortschritt Dokumentation: https://cwiki.apache.org/confluence/display/MAVEN/Java+9+-+Jigsaw

+3

Ah, vielen Dank! Ich dachte, ich hätte irgendwo gelesen, dass das schon möglich war. Meinst du dieses Github Repo? https://github.com/codeha-plexus/plexus-archiver/issues – Karussell

+1

@Karussell Ja, das ist der Problem Tracker. Sie können es auch manuell als Plexus Archiver Snapshot versuchen. –

10

Update: sollte nun ohne diese Problemumgehung funktionieren.

Das Problem wurde bereits vom Plexus Archiver-Team behoben, aber noch nicht veröffentlicht - Danke an Michael-O, der mich an den richtigen Ort gebracht hat :)!

Jetzt ist es eine Abhilfe von ctomc in PR 12 geschrieben 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> 
0

Ich hatte das gleiche Problem und das neueste Maven-Javadoc-Plugin, das vor kurzem veröffentlicht wurde, hat es behoben. Aktualisiert die Abhängigkeit in der Pom-Datei <version>3.0.0-M1</version>

1

Die Java-Doc-Plugin haben immer noch Probleme in der letzten Version. (3.0.0.M1)

+1

Dies beantwortet nicht wirklich die Frage. Wenn Sie eine andere Frage haben, können Sie sie durch Klicken auf [Frage stellen] (https://stackoverflow.com/questions/ask) stellen. Sie können auch [Kopfgeld hinzufügen] (https://stackoverflow.com/help/privileges/set-bounties) hinzufügen, um mehr Aufmerksamkeit auf diese Frage zu lenken. - [Aus Bewertung] (/ review/low-quality-posts/17536661) – jeremycg

0

Ich denke, Maven jetzt bereit ist, für mich das folgende Ausschnitt der Lage ist, Maven zu sagen, Java verwenden 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> 
+0

Nur das Compiler-Plugin-Update nicht rechtfertigen Maven Bereitschaft und die [Antwort] (https://stackoverflow.com/a/36584317/1746118) hat ein Link für die vollständige Bereitschaft des Maven. Die Antwort bezieht sich auch nicht auf den anfänglichen Fragenfehler. – nullpointer

Verwandte Themen