maven-dependency-plugin icon indicating copy to clipboard operation
maven-dependency-plugin copied to clipboard

[MDEP-82] go-offline / resolve-plugins does not resolve all plugin dependencies

Open jira-importer opened this issue 18 years ago • 28 comments

Arne Degenring opened MDEP-82 and commented

The attached pom.xml is a very simple JAR project, without any direct dependencies or plugin dependencies.

Start with an empty local repository, and run mvn dependency:go-offline on it. Some files get downloaded, but not everything that is needed for the build. If you run "mvn -o package" afterwards, you end up with the following error:

[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] The plugin 'org.apache.maven.plugins:maven-resources-plugin' does not exist or no valid version could be found

Afterwards, even "mvn package" without the "-o" parameter does not work any longer.


Affects: 2.0-alpha-4, 2.8, 2.10

Attachments:

Issue Links:

  • MNG-6169 Packaging plugin bindings version updates

Remote Links:

21 votes, 47 watchers

jira-importer avatar Apr 12 '07 02:04 jira-importer

Brian E. Fox (imported) commented

The problem is that the project isn't injected with the plugins from the standard lifecycle. I may have to hard code the standard ones (site,clean,default) until I can figure out how to get at the list directly.

jira-importer avatar Apr 30 '07 21:04 jira-importer

Harold Shinsato commented

Being able to go offline so all needed dependencies (including plugin dependencies) will work is something we have a requirement to do for our builds or it will be hard for us to get to use maven. Is there a workaround for this issue that would not require writing custom code?

jira-importer avatar Nov 06 '09 00:11 jira-importer

Derek Lewis commented

This issue has been open with no comment for a long time. Is there really no fix or workaround with the problem? I'm required to package a zip of the ~/.m2/repository directory with our software, including all dependencies needed to build from behind a strict corporate firewall. This bug is causing a great deal of grief for me. Is this fixed in maven 3?

jira-importer avatar Feb 17 '11 11:02 jira-importer

Devin Reid commented

A workaround I have found for this issue is to run a build with the property 'maven.repo.local' set to a directory in the project base directory and run a build to the install phase. One can then archive the resulting project and move it to environments that have no network access and be able to build successfully with the '-o' option.

I've tested this successfully with Maven 2.2.1 and Maven 3.0.3.

First run: mvn -Dmaven.repo.local=lib clean install

Now the following command will work just fine. mvn -Dmaven.repo.local=lib -o clean install

jira-importer avatar Jun 30 '11 15:06 jira-importer

Derek Lewis commented

Devin, I've used a similar situation to work around the problem. However, it means having to build everything, which is time consuming, and also means that commands you haven't run (like mvn deploy) won't work, because the deploy plugin wasn't downloaded.

jira-importer avatar Jul 11 '11 12:07 jira-importer

Paul Warren commented

Hi Folks,

Ability (or inability) to go-offline is a showstopper for us. We have very large customers who state they have to have offline development.

So naturally this was the goal I looked at first. One problem I have with it is the fact that it resolves top level dependencies only. It doesnt recursively descend through all subsequent transtive dependencies. I am new to maven but as that stands I don't see how it is adequate to actually solve the problem. But maybe I missed some fundamental concept. Anyway, I had a fiddle with the code and made is descend and resolve all transaitive dependencies and this was sufficient for my use case. I was then able to go-offline. I am going to attach the patch in case it helps others or you would like to fold it into the source.

jira-importer avatar Sep 20 '11 15:09 jira-importer

Paul Warren commented

The recursive descent patch as promised.

jira-importer avatar Sep 20 '11 15:09 jira-importer

Mark commented

This issue is even more annoying for proper two-phase deployments where packages are built on bare build systems without network access and where testing is done after the build on the target platform: it absolutely makes no sense to execute the tests just to prepare the package sources, but the tests won't have all dependencies later on when I don't execute the tests...

Try:

git clone https://github.com/cometd/cometd.git cd cometd git checkout 2.4.0 mvn -Dmaven.repo.local=/tmp/maven-repo dependency:go-offline mvn -Dmaven.repo.local=/tmp/maven-repo -o install

jira-importer avatar Feb 22 '12 10:02 jira-importer

Michael Osipov commented

This issue has been auto closed because it has been inactive for a long period of time. If you think this issue still persists, retest your problem with the most recent version of Maven and the affected component, reopen and post your results.

jira-importer avatar Jan 12 '16 20:01 jira-importer

Daniel Compton commented

This is still an issue. Running mvn dependency:resolve-plugins as a second step works, but shouldn't be needed.

jira-importer avatar Jan 27 '16 04:01 jira-importer

Hervé Boutemy commented

it looks like the first coment from Brian was not understood: "The problem is that the project isn't injected with the plugins from the standard lifecycle. I may have to hard code the standard ones (site,clean,default) until I can figure out how to get at the list directly." I'll try to explain more in details.

  • go-offline downloads everything that is declared in dependencies or plugins: if you did not declare anything, there is nothing to download
  • but if you didn't declare anything, what is run when you launch a build? default plugins from standard lifecycle: http://maven.apache.org/ref/current/maven-core/default-bindings.html

But the plugin does not have the logic to detect these defaults (that are dependant on Maven version used) I don't know if adding these defaults is feasible, or will give expected reault

one workaround, that is in fact a best-practice: please define plugins versions in your pom (or parent), even for default plugins that get "magically" injected by core if you did not tell anything Your build will be more repeatable (you won't be hit if Maven core changes versions), and go-offline will do the expected job

jira-importer avatar Apr 08 '17 09:04 jira-importer

Hervé Boutemy commented

I just tested the pom.xml proposed as test case:

  • with Maven 3.0.5+ and maven-depdendency-plugin 2.8, plugins from standard lifecycle are downloaded
  • with Maven 2.2.1, plugins from standard lifecycle are not downloaded

IIUC, Maven 3.x fixes the issue, by better detecting effective plugins (ie declared plugins + plugins from standard lifecycle) Of course, if go-offline is called with one Maven version and the build is done later with another Maven version that has other plugins versions in standard lifecycle, there will be an issue: that's where defining explicitely plugins version in your pom.xml (or parent) is a best practice to avoid relying on Maven defaults then being dependant on precise Maven version used

If nobody objects, I'll close this issue as fixed in 3 days

jira-importer avatar Apr 12 '17 02:04 jira-importer

Daniel Abraham commented

I'm running mvn 3.5.2, and I tried the workaround above.  There's two issues, one of which has its own workaround, but the other I haven't been able to work out.

First off, when explicitly depending on the standard lifecycle plugins, go-offline doesn't seem to be fetch transitive dependencies.  The workaround is to list them all explicitly. For example, in addition to listing org.apache.maven.plugins:maven-compiler-plugin:3.6.1, also list what's below (in xml, just colon separated for brevity):

  1. org.codehaus.plexus:plexus-utils:jar:2.0.4
  2. org.apache.maven:maven-repository-metadata:jar:3.0
  3. org.codehaus.plexus:plexus-component-annotations:jar:1.6

The second problem, and one that I don't have a fix for is that org.apache.maven.plugins:maven-compiler-plugin:3.6.1 requires org.apache.maven:maven-repository-metadata:jar:3.0, but org.apache.maven.plugins:maven-resources-plugin:2.6 requires org.apache.maven:maven-repository-metadata:jar:2.0.6. Listing both versions of maven-repository-metadata gets me the 2.0.6 jar & pom, and the 3.0 pom, but no jar. If I list them together using a range I get the same behavior.

Am I missing something here? Is there a workaround? A fix? Thank you in advance.

jira-importer avatar Apr 10 '18 19:04 jira-importer

John commented

Using Apache Maven 3.3.9, this error persists. Our build system uses a "provision" step where all dependencies are gathered (we support a lot more than Maven), and a build step in a clean environment with no internet connectivity. 

starting with a clean local repository:

repository jchittum$ pwd
/Users/jchittum/.m2/repository
repository jchittum$ ls
repository jchittum$

using the following POM

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.akamai.devprod</groupId>
<artifactId>pull-tester</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>test-app</name>
<url>https://dev-repos.devprod.akamai.com</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8</version>
<scope>test</scope>
</dependency> 
<dependency>
<groupId>com.spotify</groupId>
<artifactId>docker-client</artifactId>
<version>8.11.2</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
</dependencies>
<properties>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
</properties>
</project>

I then run go-offline, which populates a most plugins and dependencies, however, I always run into some that aren't populated. Running mvn -o install

bos-mpoxc:test-pull-app jchittum$ mvn -o install
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building test-app 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ pull-tester ---
[WARNING] The POM for org.apache.maven:maven-core:jar:2.0.6 is missing, no dependency information available
[WARNING] The POM for org.apache.maven:maven-monitor:jar:2.0.6 is missing, no dependency information available
[WARNING] The POM for org.codehaus.plexus:plexus-utils:jar:2.0.5 is missing, no dependency information available
[WARNING] The POM for org.apache.maven.shared:maven-filtering:jar:1.1 is missing, no dependency information available
[WARNING] The POM for org.codehaus.plexus:plexus-interpolation:jar:1.13 is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.525 s
[INFO] Finished at: 2018-05-08T07:52:34-05:00
[INFO] Final Memory: 9M/309M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:2.6:resources (default-resources) on project pull-tester: Execution default-resources of goal org.apache.maven.plugins:maven-resources-plugin:2.6:resources failed: Plugin org.apache.maven.plugins:maven-resources-plugin:2.6 or one of its dependencies could not be resolved: The following artifacts could not be resolved: org.apache.maven:maven-profile:jar:2.0.6, org.apache.maven:maven-repository-metadata:jar:2.0.6, org.apache.maven:maven-plugin-registry:jar:2.0.6, classworlds:classworlds:jar:1.1-alpha-2: Cannot access central (https://repos.akamai.com/public-maven-repos) in offline mode and the artifact org.apache.maven:maven-profile:jar:2.0.6 has not been downloaded from it before. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException

I can tell at least the following plugins are not downloaded with a go-offline:

  • surefire (and transitive dependencies)
  • jar (and its transitive dependencies
  • compiler (and its transitive dependencies)
  • resources (and its transitive dependencies)

It appears the original bug stating that core plugins for lifecycle phases are not populated. As is, since our build environment is docker based, I'll be setting up a script to manually pull all Apache maintained plugins and populating the initial build environment. 

How about this proposal?

The Maven Dependency Plugin, when using go-offline, should do a greedy pull, and populate all Maven core plugins and their transitive dependencies.

 

jira-importer avatar May 08 '18 13:05 jira-importer

John commented

To narrow this down to versions.

maven = 3.5.2

mvn dependency:go-offline
mvn -o clean install

Fails with missing poms for transitive dependencies of plugins:

--- jacoco-maven-plugin:0.8.0:prepare-agent (default-prepare-agent) @ my-lib ---

[WARNING] The POM for junit:junit:jar:4.8.2 is missing, no dependency information available

[WARNING] The POM for org.apache.maven.reporting:maven-reporting-impl:jar:2.1 is missing, no dependency information available

[WARNING] The POM for org.jacoco:org.jacoco.agent:jar:runtime:0.8.0 is missing, no dependency information available

[WARNING] The POM for org.jacoco:org.jacoco.core:jar:0.8.0 is missing, no dependency information available

[WARNING] The POM for org.jacoco:org.jacoco.report:jar:0.8.0 is missing, no dependency information available
  1. junit is relied upon somewhere in this build without being explicitly listed anywhere.
  2. the org.jacoco:org.jacoco.* dependencies are listed explicitly by org.jacoco, however, when resolved, they only pulled the .jar, not the .pom. This led to the later failures.

But I noticed it was defaulting to using a slightly older maven-dependency-plugin, 2.8. So i tried:

mvn org.apache.maven.plugins:maven-dependency-plugin:3.1.0:go-offline

Forcing that version resolved all transitive plugin dependencies properly! However, I ran into further missing dependencies, specifically with surefire. After explicitly adding those, I was able to build successfully.

So, there are several layers of dependency resolutions not occurring, depending on the version of the plugin being used, and how other plugins are being implemented. Definitely no easy answer here. Our company is committed to getting this to work at the moment, so I'll probably continue to be bothersome

 

jira-importer avatar May 09 '18 14:05 jira-importer

Hervé Boutemy commented

TL;DR = Works with Maven 3.1.0+ and maven-dependency-plugin 3.0.0+, fails with any Maven version or maven-dependency-plugin before If you have any issue, please precise which Maven and maven-dependency-plugin versions you are using

Then detailed tests: tested with attached pom.xml (dummy) and following settings.xml to provide a clean local repository on each test (and locale repository manager for efficiency):

<settings>
  <localRepository>repo</localRepository>

  <!--mirrors>
    <mirror>
      <id>central</id>
      <name>My Repository Manager</name>
      <url>http://localhost:8080/...</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors-->

</settings>

then define explicitiely the maven-dependency-plugin version used for go-offline to not depend on default version defined inside Maven:

mvn -s settings.xml org.apache.maven.plugins:maven-dependency-plugin:2.8:go-offline

And finally check if the build in offline mode works:

mvn -V -s settings.xml verify -o

Result: build works with maven-dependency-plugin starting with version 3.0.0 with recent Maven versions

On one line:

\rm -rf repo ; mvn -s settings.xml org.apache.maven.plugins:maven-dependency-plugin:3.0.0:go-offline ; mvn -V -s settings.xml verify -o

works like a charm (tested with success also with 3.0.1, 3.0.2, 3.1.0) The same test fails with 2.10 or anything before fails. Tested with success with Maven 3.5.3, 3.3.9, 3.2.5, 3.1.0 But fails with Maven 3.0.5

jira-importer avatar May 11 '18 12:05 jira-importer

Bob van der Linden commented

This is not yet fixed for me. Consider the following: https://gist.github.com/bobvanderlinden/960203d38475c4e0ffe861b049bbc107

It fails with the following error:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-install-plugin:2.5.2:install (default-install) on project main: Execution default-install of goal org.apache.maven.plugins:maven-install-plugin:2.5.2:install failed: Plugin org.apache.maven.plugins:maven-install-plugin:2.5.2 or one of its dependencies could not be resolved: Cannot access central (https://repo.maven.apache.org/maven2) in offline mode and the artifact org.codehaus.plexus:plexus-container-default:jar:1.6 has not been downloaded from it before. -> [Help 1]

jira-importer avatar May 27 '18 14:05 jira-importer

Antoine Morvan commented

Hi,

I'm experiencing issues also, with plugin version 3.1.1. I uploaded a small example project to reproduce: https://github.com/antoine-morvan/resolve_plugin_issue

Best.

jira-importer avatar Jul 02 '18 15:07 jira-importer

Sylwester Lachiewicz commented

For Antoine Morvan sample project issue is with org.apache.maven.plugin.internal.PluginDependencyResolutionListener#isWagonProvider where old 2.x Maven's Wagon was excluded from dependences. I hope after org.jacoco:jacoco-maven-plugin will be updated to 3+ API it can be solved.

jira-importer avatar Jan 06 '19 21:01 jira-importer

Sylwester Lachiewicz commented

Problem with jacoco-maven-plugin has been resolved with migration to plugin-api 3.0 - version 0.8.3 can be used in "offline mode"

For future reference: artifacts from https://github.com/apache/maven/blob/master/maven-core/src/main/resources/META-INF/maven/extension.xml#L128 list can generate problems

jira-importer avatar Jan 27 '19 23:01 jira-importer

Ivo Šmíd commented

Workaround could be to use https://github.com/qaware/go-offline-maven-plugin (as described here https://stackoverflow.com/a/58767388/535560)

jira-importer avatar Nov 08 '19 13:11 jira-importer

Marcello de Sales commented

Worked by Adding Latest Maven Libraries

  • Following the update of the maven dependencies plugin following Hervé Boutemy's suggestions: version 3.1.1
  • Also had to add the surefire test platform
@@ -23,6 +23,9 @@
         <junit-jupiter.version>5.5.2</junit-jupiter.version>
         <common-io.version>2.6</common-io.version>
         <jacoco-maven-plugin.version>0.8.4</jacoco-maven-plugin.version>
+        <!-- https://issues.apache.org/jira/browse/MDEP-82 -->
+        <maven-dependency-plugin.version>3.1.1</maven-dependency-plugin.version>
+        <surefire-junit-platform.version>2.22.2</surefire-junit-platform.version>
         <maven-release-plugin.version>2.5.3</maven-release-plugin.version>
         <maven-deploy-plugin.version>2.8.2</maven-deploy-plugin.version>
         <maven-surefire-report-plugin.version>2.22.2</maven-surefire-report-plugin.version>
...
...
     <build>
         <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <version>${maven-dependency-plugin.version}</version>
+            </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
@@ -135,6 +143,11 @@
                     <target>${java.version}</target>
                 </configuration>
             </plugin>
+            <plugin>
+                <groupId>org.apache.maven.surefire</groupId>
+                <artifactId>surefire-junit-platform</artifactId>
+                <version>${surefire-junit-platform.version}</version>
+            </plugin>

All tasks with --offline worked

  • In a Dockerized world, you want to download the dependencies first
  • Then execute each individual Multi-stage build depending on each of the docker images
    • Making sure the resolve plugins is also used
FROM maven:3.6.3-jdk-8 AS dependencies-downloaded
...
...
COPY app/pom.xml /usr/src/app/pom.xml
COPY app/settings.xml /usr/src/app/settings.xml
RUN mvn -f /usr/src/pom.xml -s /usr/src/settings.xml dependency:resolve-plugins dependency:go-offline
  • Then Each individual image for each individual step... Starting with compile
FROM dependencies-downloaded AS compile
COPY app /usr/src/app
RUN mvn -f /usr/src/pom.xml -s /usr/src/settings.xml compile --offline
  • Then tests
...
...
RUN mvn -f /usr/src/pom.xml -s /usr/src/settings.xml test --offline
  • Then package, skipping the tests previously ran
...
...
RUN mvn -f /usr/src/pom.xml -s /usr/src/settings.xml package -Dmaven.test.skip=true --offline

jira-importer avatar Dec 17 '19 02:12 jira-importer

Archimedes Trajano commented

I have an MVCE that shows that it does not work with maven-dependency-plugin 3.8.2 https://github.com/trajano/spring-beanpostproc-mvce

jira-importer avatar Feb 19 '21 18:02 jira-importer

Chris Warburton commented

I got 3.2.0 to work, but I also hit https://issues.apache.org/jira/browse/MNG-6965 which causes an implicit dependency on plexus-utils:1.1, which isn't picked up by go-offline. I worked around it by adding an explicit dependency on plexus-utils:3.1.0 (in my case I added this to the dependencies of maven-surefire-plugin, since that was the failing step in my builds)

jira-importer avatar Mar 04 '22 16:03 jira-importer

Feliks Khantsis commented

Hey Marcello de Sales if you are still around three years later, what is in settings.xml? I am working on Docker builds, and even the Docker manve says to do it like so, however I am failing on all dependency-plugin versions. Specifically, I am using spring bom, and it's not properly resolving the correct version, downloading four versions of spring jars, except the one I need.

jira-importer avatar Jan 01 '23 23:01 jira-importer

Gili commented

Is this issue fixed now that https://issues.apache.org/jira/browse/MNG-6965 is fixed?

jira-importer avatar Feb 06 '23 18:02 jira-importer

Bas van Erp commented

Gili definitely not. Maven 3.9.2 with maven-dependency-plugin:3.6.0 and its driving me nuts.

jira-importer avatar Jun 20 '23 18:06 jira-importer

Artem Yak commented

Did not work with 

  1. Maven 3.9.6
  2. maven-dependency-plugin:3.6.1
  3. maven-surefire-plugin:3.2.5
  4. testng:7.9.0

 

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.2.5:test (default-test) on project payments-qa: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:3.2.5:test failed: A required class was missing while executing org.apache.maven.plugins:maven-surefire-plugin:3.2.5:test: org/apache/maven/surefire/booter/KeyValueSource
-----------------------------------------------------
realm =    plugin>org.apache.maven.plugins:maven-surefire-plugin:3.2.5
strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
urls[0] = file:/root/.m2/repository/org/apache/maven/plugins/maven-surefire-plugin/3.2.5/maven-surefire-plugin-3.2.5.jar
urls[1] = file:/root/.m2/repository/org/apache/maven/surefire/maven-surefire-common/3.2.5/maven-surefire-common-3.2.5.jar
Number of foreign imports: 1
import: Entry[import  from realm ClassRealm[maven.api, parent: null]]-----------------------------------------------------        at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2(MojoExecutor.java:333) ~[maven-core-3.9.6.jar:3.9.6]
        at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute(MojoExecutor.java:316) ~[maven-core-3.9.6.jar:3.9.6]
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212) ~[maven-core-3.9.6.jar:3.9.6]
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:174) ~[maven-core-3.9.6.jar:3.9.6]
        at org.apache.maven.lifecycle.internal.MojoExecutor.access$000(MojoExecutor.java:75) ~[maven-core-3.9.6.jar:3.9.6]
        at org.apache.maven.lifecycle.internal.MojoExecutor$1.run(MojoExecutor.java:162) ~[maven-core-3.9.6.jar:3.9.6]
        at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute(DefaultMojosExecutionStrategy.java:39) ~[maven-core-3.9.6.jar:3.9.6]
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:159) ~[maven-core-3.9.6.jar:3.9.6]
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:105) ~[maven-core-3.9.6.jar:3.9.6]
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:73) ~[maven-core-3.9.6.jar:3.9.6]
        at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:53) ~[maven-core-3.9.6.jar:3.9.6]
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:118) ~[maven-core-3.9.6.jar:3.9.6]
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:261) ~[maven-core-3.9.6.jar:3.9.6]
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:173) ~[maven-core-3.9.6.jar:3.9.6]
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:101) ~[maven-core-3.9.6.jar:3.9.6]
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:906) [maven-embedder-3.9.6.jar:3.9.6]
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:283) [maven-embedder-3.9.6.jar:3.9.6]
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:206) [maven-embedder-3.9.6.jar:3.9.6]
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
        at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:283) [plexus-classworlds-2.7.0.jar:?]
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:226) [plexus-classworlds-2.7.0.jar:?]
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:407) [plexus-classworlds-2.7.0.jar:?]
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:348) [plexus-classworlds-2.7.0.jar:?]
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:3.2.5:test failed: A required class was missing while executing org.apache.maven.plugins:maven-surefire-plugin:3.2.5:test: org/apache/maven/surefire/booter/KeyValueSource
-----------------------------------------------------
realm =    plugin>org.apache.maven.plugins:maven-surefire-plugin:3.2.5
strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
urls[0] = file:/root/.m2/repository/org/apache/maven/plugins/maven-surefire-plugin/3.2.5/maven-surefire-plugin-3.2.5.jar
urls[1] = file:/root/.m2/repository/org/apache/maven/surefire/maven-surefire-common/3.2.5/maven-surefire-common-3.2.5.jar
Number of foreign imports: 1
import: Entry[import  from realm ClassRealm[maven.api, parent: null]]-----------------------------------------------------        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:152) ~[maven-core-3.9.6.jar:3.9.6]
        at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2(MojoExecutor.java:328) ~[maven-core-3.9.6.jar:3.9.6]
        ... 25 more
Caused by: org.apache.maven.plugin.PluginContainerException: A required class was missing while executing org.apache.maven.plugins:maven-surefire-plugin:3.2.5:test: org/apache/maven/surefire/booter/KeyValueSource
-----------------------------------------------------
realm =    plugin>org.apache.maven.plugins:maven-surefire-plugin:3.2.5
strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
urls[0] = file:/root/.m2/repository/org/apache/maven/plugins/maven-surefire-plugin/3.2.5/maven-surefire-plugin-3.2.5.jar
urls[1] = file:/root/.m2/repository/org/apache/maven/surefire/maven-surefire-common/3.2.5/maven-surefire-common-3.2.5.jar
Number of foreign imports: 1
import: Entry[import  from realm ClassRealm[maven.api, parent: null]]-----------------------------------------------------        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:150) ~[maven-core-3.9.6.jar:3.9.6]
        at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2(MojoExecutor.java:328) ~[maven-core-3.9.6.jar:3.9.6]
        ... 25 more
Caused by: java.lang.NoClassDefFoundError: org/apache/maven/surefire/booter/KeyValueSource
        at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]
        at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017) ~[?:?]
        at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) ~[?:?]
        at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:524) ~[?:?]
        at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:427) ~[?:?]
        at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:421) ~[?:?]
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:712) ~[?:?]
        at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:420) ~[?:?]
        at org.codehaus.plexus.classworlds.realm.ClassRealm.findClassInternal(ClassRealm.java:313) ~[plexus-classworlds-2.7.0.jar:?]
        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:432) ~[plexus-classworlds-2.7.0.jar:?]
        at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42) ~[plexus-classworlds-2.7.0.jar:?]
        at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271) ~[plexus-classworlds-2.7.0.jar:?]
        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247) ~[plexus-classworlds-2.7.0.jar:?]
        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239) ~[plexus-classworlds-2.7.0.jar:?]
        at java.base/java.lang.Class.getDeclaredConstructors0(Native Method) ~[?:?]
        at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3373) ~[?:?]
        at java.base/java.lang.Class.getDeclaredConstructors(Class.java:2555) ~[?:?]
        at com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:299) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:121) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:715) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:941) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:863) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:300) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:223) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.InjectorImpl.getProviderOrThrow(InjectorImpl.java:1093) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1122) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1087) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1139) ~[guice-5.1.0.jar:?]
        at org.eclipse.sisu.space.AbstractDeferredClass.get(AbstractDeferredClass.java:48) ~[org.eclipse.sisu.inject-0.9.0.M2.jar:?]
        at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:86) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:57) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:67) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:109) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:124) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:66) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:62) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:47) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1101) ~[guice-5.1.0.jar:?]
        at org.eclipse.sisu.inject.Guice4$2.get(Guice4.java:233) ~[org.eclipse.sisu.inject-0.9.0.M2.jar:?]
        at org.eclipse.sisu.inject.LazyBeanEntry.getValue(LazyBeanEntry.java:81) ~[org.eclipse.sisu.inject-0.9.0.M2.jar:?]
        at org.eclipse.sisu.plexus.LazyPlexusBean.getValue(LazyPlexusBean.java:51) ~[org.eclipse.sisu.plexus-0.9.0.M2.jar:?]
        at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:264) ~[org.eclipse.sisu.plexus-0.9.0.M2.jar:?]
        at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:256) ~[org.eclipse.sisu.plexus-0.9.0.M2.jar:?]
        at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:491) ~[maven-core-3.9.6.jar:3.9.6]
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:114) ~[maven-core-3.9.6.jar:3.9.6]
        at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2(MojoExecutor.java:328) ~[maven-core-3.9.6.jar:3.9.6]
        ... 25 more
Caused by: java.lang.ClassNotFoundException: org.apache.maven.surefire.booter.KeyValueSource
        at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50) ~[plexus-classworlds-2.7.0.jar:?]
        at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271) ~[plexus-classworlds-2.7.0.jar:?]
        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247) ~[plexus-classworlds-2.7.0.jar:?]
        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239) ~[plexus-classworlds-2.7.0.jar:?]
        at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]
        at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017) ~[?:?]
        at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) ~[?:?]
        at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:524) ~[?:?]
        at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:427) ~[?:?]
        at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:421) ~[?:?]
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:712) ~[?:?]
        at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:420) ~[?:?]
        at org.codehaus.plexus.classworlds.realm.ClassRealm.findClassInternal(ClassRealm.java:313) ~[plexus-classworlds-2.7.0.jar:?]
        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:432) ~[plexus-classworlds-2.7.0.jar:?]
        at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42) ~[plexus-classworlds-2.7.0.jar:?]
        at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271) ~[plexus-classworlds-2.7.0.jar:?]
        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247) ~[plexus-classworlds-2.7.0.jar:?]
        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239) ~[plexus-classworlds-2.7.0.jar:?]
        at java.base/java.lang.Class.getDeclaredConstructors0(Native Method) ~[?:?]
        at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3373) ~[?:?]
        at java.base/java.lang.Class.getDeclaredConstructors(Class.java:2555) ~[?:?]
        at com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:299) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:121) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:715) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:941) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:863) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:300) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:223) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.InjectorImpl.getProviderOrThrow(InjectorImpl.java:1093) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1122) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1087) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1139) ~[guice-5.1.0.jar:?]
        at org.eclipse.sisu.space.AbstractDeferredClass.get(AbstractDeferredClass.java:48) ~[org.eclipse.sisu.inject-0.9.0.M2.jar:?]
        at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:86) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:57) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:67) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:109) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:124) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:66) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:62) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:47) ~[guice-5.1.0.jar:?]
        at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1101) ~[guice-5.1.0.jar:?]
        at org.eclipse.sisu.inject.Guice4$2.get(Guice4.java:233) ~[org.eclipse.sisu.inject-0.9.0.M2.jar:?]
        at org.eclipse.sisu.inject.LazyBeanEntry.getValue(LazyBeanEntry.java:81) ~[org.eclipse.sisu.inject-0.9.0.M2.jar:?]
        at org.eclipse.sisu.plexus.LazyPlexusBean.getValue(LazyPlexusBean.java:51) ~[org.eclipse.sisu.plexus-0.9.0.M2.jar:?]
        at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:264) ~[org.eclipse.sisu.plexus-0.9.0.M2.jar:?]
        at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:256) ~[org.eclipse.sisu.plexus-0.9.0.M2.jar:?]
        at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:491) ~[maven-core-3.9.6.jar:3.9.6]
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:114) ~[maven-core-3.9.6.jar:3.9.6]
        at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2(MojoExecutor.java:328) ~[maven-core-3.9.6.jar:3.9.6]
        ... 25 more
 

 

 

 

jira-importer avatar Apr 17 '24 22:04 jira-importer