#maven #continuous-integration #jenkins-pipeline #maven-3
#maven #непрерывная интеграция #дженкинс-трубопровод #maven-3
Вопрос:
Я пытаюсь получить модули в моем pom.xml с помощью приведенной ниже команды. Это работало до вчерашнего дня. Maven artfiact хранится в artifactory и я использую.m2/settings.xml для подключения к центру и загрузки артефактов. Я уверен, что в Дженкинсе и artifactory не было взаимодействия, но внезапно уставился, видя неудачи
Я попытался изменить M2_HOME / MAVEN_HOME на M3_home. Попытался удалить .m2/repository и запустил команду mvn для повторной загрузки
Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-24T14:49:05-05:00) Главная страница Maven: /Users/jenkins/Downloads/apache-maven-3.5.3 Версия Java: 1.8.0_172, поставщик: корпорация Oracle Главная страница Java: /Библиотека/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Содержание/Главная страница /jre Язык по умолчанию: en_US, кодировка платформы: UTF-8 Название ОС: «mac os x», версия: «10.14.2», arch: «x86_64», семейство: «mac»
mvn help:evaluate -Dexpression=project.modules -B
Expected
[Info] Downloading ....
[Info] Downloaded ....
[Info]....
[Info]....
[Info]....
[Info]....
<modules>
<module>example-mod1</module>
<module>example-mod2</module>
<module>example-mod3</module>
</modules>
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 31.185 s
[INFO] Finished at: 2019-04-17T16:52:52-04:00
[INFO] ------------------------------------------------------------------------
Actual
[Info] Downloading ....
[Info] Downloaded ....
[Info]....
[Info]....
[Info]....
[Info]....
[ERROR]
java.lang.ClassNotFoundException: org.apache.maven.model.io.xpp3.MavenXpp3WriterEx
at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass (SelfFirstStrategy.java:50)
at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass (ClassRealm.java:271)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass (ClassRealm.java:247)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass (ClassRealm.java:239)
at java.lang.Class.forName0 (Native Method)
at java.lang.Class.forName (Class.java:348)
at org.apache.commons.lang3.ClassUtils.getClass (ClassUtils.java:993)
at org.apache.commons.lang3.ClassUtils.getClass (ClassUtils.java:1059)
at org.apache.commons.lang3.ClassUtils.getClass (ClassUtils.java:1042)
at org.apache.maven.plugins.help.EvaluateMojo.addAlias (EvaluateMojo.java:542)
at org.apache.maven.plugins.help.EvaluateMojo.addAlias (EvaluateMojo.java:491)
at org.apache.maven.plugins.help.EvaluateMojo.getXStream (EvaluateMojo.java:455)
at org.apache.maven.plugins.help.EvaluateMojo.toXML (EvaluateMojo.java:420)
at org.apache.maven.plugins.help.EvaluateMojo.handleResponse (EvaluateMojo.java:381)
at org.apache.maven.plugins.help.EvaluateMojo.execute (EvaluateMojo.java:214)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
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:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
[INFO]
<strings>
<string>example-mod1</string>
<string>example-mod2</string>
<string>example-mod3</string>
</strings>
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 31.185 s
[INFO] Finished at: 2019-04-17T16:52:52-04:00
[INFO] ------------------------------------------------------------------------
Ответ №1:
Класс MavenXPP3writerEx, похоже, доступен только в Maven 3.6.1 API.
Если вы используете Maven 3.3.9 или любую версию до версии 3.6.1, то у вас появится следующее сообщение: вы пытаетесь использовать последнюю версию maven-help-plugin (разработанную для совместимости с Maven 3.6.1), но не совместимую с более ранними версиями.
Затем, чтобы использовать совместимую версию, вы должны ограничить версию maven-help-plugin, чтобы использовать ее без ошибок. Для этого определите раздел pluginManagement в вашем POM и объявите maven-help-plugin с версией 3.1.0 (для Maven 3.3.9). Я не пробовал использовать другую конфигурацию Maven.