2016-04-12 3 views
43

Сегодня я попробовал latest jdk9 Build 113 и попытался скомпилировать my project с последним Maven 3.3.9Готово ли Maven для JDK9?

Они являются командами (частично 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([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 

Какова правильная конфигурация или параметры 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",... 
+0

Похоже Maven все еще есть некоторые проблемы. Вы можете попробовать этот проект: https://github.com/forax/pro – user1735594

ответ

15

Да, он уже готов. Еще кое-что происходит, но в целом можно использовать. Отъезд a project of mine как пример.

+1

В проекте, в котором вы использовали share, используются компиляторы и jar-плагины, но мы будем получать больше плагинов, таких как jlink, jmod, jdeps. И проект не дает примеров с автоматическими модулями и безмодульными модулями. Я думаю, что команда Maven все еще работает над ними. –

+0

Не знаю, что .. * но обычно годный для использования * .. здесь. Слишком общий ответ, который я считаю. Идеально следовало бы за другим [по Майклу] (https://stackoverflow.com/a/36584317/1746118) вместо этого быть надежным источником. – nullpointer

+0

Плагин M2E для Eclipse, похоже, не готов: https://stackoverflow.com/questions/47228377/how-to-use-maven-with-java9-0-1-and-pom-packaging-in-eclipse -оксиген-1а-релиз – Stefan

33

Вот ответ от одного члена Maven PMC (мне):

Нет, это не так. Роберт Шёльте работает над этим. Jigsaw и другие вещи ввели много изменений. Официального таймфрейма не будет, если будет предоставлена ​​полная совместимость (официальные плагины 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

Update: должен работать без этого обходного пути в настоящее время.

Проблема уже исправлена ​​из команды архивиста сплетения, но еще не выпущена - спасибо Майклу-О за то, что он указал мне в нужное место :)!

Теперь есть обходной путь отправил из ctomc в PR 12 использовать старый сплетение Archiver версии 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

У меня была такая же проблема, и последний опубликованный недавно анонс maven-javadoc-плагин исправил его. Обновлена ​​зависимость в файле pom до <version>3.0.0-M1</version>

1

Плагин Java doc по-прежнему имеет проблемы в последней версии. (3.0.0.M1)

+1

Это не отвечает на вопрос. Если у вас есть другой вопрос, вы можете задать его, нажав [Ask Question] (https://stackoverflow.com/questions/ask). Вы также можете [добавить щедрость] (https://stackoverflow.com/help/privileges/set-bounties), чтобы привлечь больше внимания к этому вопросу. - [Обзор] (/ review/low-quality-posts/17536661) – jeremycg

0

Я думаю, что специалист готов теперь для меня следующий фрагмент кода может сказать Maven использовать 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> 
+0

Только обновление плагина компилятора не оправдывает готовность maven и [ответ] (https://stackoverflow.com/a/36584317/1746118) ссылка для полной готовности maven. Также ответ не связан с первоначальной ошибкой вопроса. – nullpointer

Смежные вопросы