2016-04-12 15 views
43

今日は私がMavenはJDK9に対応していますか?

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 

を(部分的にvia twitterた)しかし、私は短期的に... this errorを得るlatest jdk9 Build 113を試してみましたが、最新のMaven 3.3.9

これらはコマンドですとmy projectをコンパイルしようとした:

[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 

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",... 
+0

Mavenのは、まだいくつかの問題を持っているように見えます。このプロジェクトを試してみてください:https://github.com/forax/pro – user1735594

答えて

15

はい、それは準備が整いました。まだいくつかのことが進行中ですが、一般的に使用可能です。 a project of mineを例として確認してください。

+1

共有していたプロジェクトはコンパイラとjarプラグインを使用していますが、jlink、jmod、jdepsのようなプラグインが増えています。このプロジェクトでは、自動モジュールと無名モジュールの例は提供されていません。私はMavenチームがまだそれらに取り組んでいると思います。 –

+0

なんだか分かりませんが*一般的に使える*はここを意味します。あまりにも一般的な答えを私は信じています。理想的には、信頼できるソースになるように、他の[Michael by one](https://stackoverflow.com/a/36584317/1746118)に従ってください。 – nullpointer

+0

Eclipse用のM2Eプラグインは準備ができていないようです:https://stackoverflow.com/questions/47228377/how-to-use-maven-with-java9-0-1-and-pom-packaging-in-eclipse -oxygen-1a-release – Stefan

33

1人のMavenのPMCメンバー(私)からの回答です:

いや、それはないです。 Robert Scholteはそれに取り組んでいます。ジグソーパズルやその他のものは、多くの変更をもたらしました。完全なcompat(Maven +公式プラグイン)が提供される正式な期間はありません。

実際に表示される問題はMavenではなくPlexus Archiverです。 GitHubのページを参照してください。価値を追加できると思うなら、maven-devメーリングリストに連絡してください。

進捗ドキュメント:https://cwiki.apache.org/confluence/display/MAVEN/Java+9+-+Jigsaw

+3

ああ、ありがとう!私はどこかでこれがすでに可能だったと読んだと思った。このgithub repoを意味しますか? https://github.com/codehaus-plexus/plexus-archiver/issues – Karussell

+1

@Karussellはい、これは問題のトラッカーです。 plexusアーカイバスナップショットとして手動で試すこともできます。 –

10

更新:今、この回避策なしで動作するはずです。

この問題は、すでにPlexusアーカイバチームから修正されていますが、まだリリースされていません。マイケルOのおかげで、私は適切な場所に向いています:)

は今、古い叢アーカイババージョン2.4.4を使用するようにPR 12にctomcから投稿回避策があります:

<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

私は同じ問題があり、最新のmaven-javadoc-pluginが最近修正されました。 pomファイルの依存関係を<version>3.0.0-M1</version>に更新しました

1

Java docプラグインにはまだ前回のバージョンで問題があります。 (3.0.0.M1)

+1

これは本当に質問に答えません。別の質問がある場合は、[質問する](https://stackoverflow.com/questions/ask)をクリックして質問することができます。また、[賞品を追加](https://stackoverflow.com/help/privileges/set-bounties)でこの質問にもっと注意を向けることもできます。 - [レビューの投稿](レビュー/低品質の投稿/ 17536661) – jeremycg

0

私はMavenのは、今準備ができている私のために次のコードは、Java 9を使用するようにMavenを伝えることができると思い:

<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

コンパイラプラグインのアップデートだけでは、Mavenの準備が整っていないだけで、[回答](https://stackoverflow.com/a/36584317/1746118)完全な準備のためのリンク。答えは最初の質問の誤りにも関係しません。 – nullpointer

関連する問題