сбой сборки apache maven — не удалось выполнить цель org.apache.felix: maven-bundle-plugin: 4.2.0:manifest

#maven #plugins #bundle #apache-felix

#maven #Плагины #пакет #apache-felix

Вопрос:

Я хочу установить «iText RUPS’ы», следуя статье из расположения ниже

https://github.com/itext/i7j-rups

После ввода: «mvn clean package» в командной строке я получаю:

[ИНФОРМАЦИЯ] — maven-bundle-plugin:4.2.0:манифест (bundle-manifest) @ itext-rupsпримечания —

[ОШИБКА] Произошла внутренняя ошибка java.util.ConcurrentModificationException

 at java.util.TreeMap.callMappingFunctionWithCheck (TreeMap.java:742)
at java.util.TreeMap.computeIfAbsent (TreeMap.java:558)
at aQute.bnd.osgi.Jar.putResource (Jar.java:288)
at aQute.bnd.osgi.Jar$1.visitFile (Jar.java:202)
at aQute.bnd.osgi.Jar$1.visitFile (Jar.java:177)
at java.nio.file.Files.walkFileTree (Files.java:2804)
at aQute.bnd.osgi.Jar.buildFromDirectory (Jar.java:176)
at aQute.bnd.osgi.Jar.<init> (Jar.java:119)
at aQute.bnd.osgi.Jar.<init> (Jar.java:172)
at org.apache.felix.bundleplugin.BundlePlugin.getOSGiBuilder (BundlePlugin.java:603)
at org.apache.felix.bundleplugin.ManifestPlugin.getAnalyzer (ManifestPlugin.java:285)
at org.apache.felix.bundleplugin.ManifestPlugin.execute (ManifestPlugin.java:111)
at org.apache.felix.bundleplugin.BundlePlugin.execute (BundlePlugin.java:364)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:64)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:564)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
  

[ИНФОРМАЦИЯ] ————————————————————————

[ИНФОРМАЦИЯ] СБОЙ СБОРКИ

[ИНФОРМАЦИЯ] ————————————————————————

[ИНФОРМАЦИЯ] Общее время: 4.546 с

[ИНФОРМАЦИЯ] Завершено в: 2020-11-07T15:07:40 01:00

[ИНФОРМАЦИЯ] ————————————————————————

[ОШИБКА] Не удалось выполнить цель org.apache.felix: maven-bundle-plugin:4.2.0:манифест (bundle-manifest) в проекте itext-rups’ов: Внутренняя ошибка в maven-bundle-plugin: ConcurrentModificationException -> [Справка 1]

[ОШИБКА]

[ОШИБКА] Чтобы увидеть полную трассировку ошибок в стеке, повторно запустите Maven с помощью переключателя -e.

[ОШИБКА] Повторно запустите Maven, используя переключатель -X, чтобы включить полное ведение журнала отладки.

[ОШИБКА]

[ОШИБКА] Для получения дополнительной информации об ошибках и возможных решениях, пожалуйста, прочитайте следующие статьи:

[ОШИБКА] [Справка 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

Как я могу решить проблему?

Комментарии:

1. Есть ли причина, по которой используется такая старая версия плагина? search.maven.org/artifact/org.apache.felix/maven-bundle-plugin . Обновите плагин до последней версии.

Ответ №1:

На основе: https://github.com/FasterXML/oss-parent/issues/27

Вам нужна более новая версия плагина maven bundle.

Попробуйте добавить это в раздел плагинов вашего POM-файла:

 <plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>5.1.1</version>
</plugin>
  

Ответ №2:

Столкнулся с той же проблемой при создании RUP в Windows 10. Используя Java SDK 16.0.1, Apache Maven 3.8.1. Я использовал код плагина POM, предложенный Archi для maven-bundle-plugin. Но также завершилось обновлением плагина launch4j (также в файле POM) с 1.7.25 до 2.1.1. Это успешно создало rupsjar. (Даже слепая белка время от времени находит орех.)

Ответ №3:

Для меня это было вызвано использованием Java 17 по умолчанию, в то время как исходный репозиторий, который я пытался создать, использует Java 11. Установка JAVA_HOME значения 11 снова заставила Maven работать. Например, в Linux:

 export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64