versions icon indicating copy to clipboard operation
versions copied to clipboard

Error when resolving version ranges for dependencies inside dependencyManagement of type pom/import

Open ryenus opened this issue 4 years ago • 1 comments

In our project we have a parent pom, where we have several imported BOM, e.g.:

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.apache.logging.log4j</groupId>
				<artifactId>log4j-bom</artifactId>
				<version>[2.17.1,2.18)</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<!-- ...  -->
		</dependencies>
	</dependencyManagement>

What Expected

As part of our build process, I'd like to run mvn versions:resolve-ranges to resolve the version range [2.17.1,2.18) to the 2.17.1 (latest as of now), then publish this parent pom with the resolved versions to our internal maven repository, so that it can be consumed by downstream apps.

This way I could just run the CI job to do the update, rather than manually patching all the imported BOM(s).

What Happened

It seems mvn versions:resolve-ranges doesn't work with the imported BOM(s) in dependencyManagement/dependencies, which failed with the below error:

[ERROR]     Non-resolvable import POM: Could not find artifact org.apache.logging.log4j:log4j-bom:pom:[2.17.1,2.18) in central (https://repo.maven.apache.org/maven2) @ line 74, column 16 -> [Help 2]
org.apache.maven.model.resolution.UnresolvableModelException: Could not find artifact org.apache.logging.log4j:log4j-bom:pom:[2.17.1,2.18) in central (https://repo.maven.apache.org/maven2)
    at org.apache.maven.project.ProjectModelResolver.resolveModel (ProjectModelResolver.java:196)
    at org.apache.maven.model.building.DefaultModelBuilder.importDependencyManagement (DefaultModelBuilder.java:1272)
    at org.apache.maven.model.building.DefaultModelBuilder.build (DefaultModelBuilder.java:481)
    at org.apache.maven.model.building.DefaultModelBuilder.build (DefaultModelBuilder.java:447)
    at org.apache.maven.project.DefaultProjectBuilder.build (DefaultProjectBuilder.java:618)
    at org.apache.maven.project.DefaultProjectBuilder.build (DefaultProjectBuilder.java:387)
    at org.apache.maven.graph.DefaultGraphBuilder.collectProjects (DefaultGraphBuilder.java:414)
    at org.apache.maven.graph.DefaultGraphBuilder.getProjectsForMavenReactor (DefaultGraphBuilder.java:405)
    at org.apache.maven.graph.DefaultGraphBuilder.build (DefaultGraphBuilder.java:82)
    at org.apache.maven.DefaultMaven.buildGraph (DefaultMaven.java:507)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:219)
    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:972)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:568)
    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)
Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact org.apache.logging.log4j:log4j-bom:pom:[2.17.1,2.18) in central (https://repo.maven.apache.org/maven2)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve (DefaultArtifactResolver.java:425)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts (DefaultArtifactResolver.java:229)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact (DefaultArtifactResolver.java:207)
    at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact (DefaultRepositorySystem.java:262)
    at org.apache.maven.project.ProjectModelResolver.resolveModel (ProjectModelResolver.java:192)
    at org.apache.maven.model.building.DefaultModelBuilder.importDependencyManagement (DefaultModelBuilder.java:1272)
    at org.apache.maven.model.building.DefaultModelBuilder.build (DefaultModelBuilder.java:481)
    at org.apache.maven.model.building.DefaultModelBuilder.build (DefaultModelBuilder.java:447)
    at org.apache.maven.project.DefaultProjectBuilder.build (DefaultProjectBuilder.java:618)
    at org.apache.maven.project.DefaultProjectBuilder.build (DefaultProjectBuilder.java:387)
    at org.apache.maven.graph.DefaultGraphBuilder.collectProjects (DefaultGraphBuilder.java:414)
    at org.apache.maven.graph.DefaultGraphBuilder.getProjectsForMavenReactor (DefaultGraphBuilder.java:405)
    at org.apache.maven.graph.DefaultGraphBuilder.build (DefaultGraphBuilder.java:82)
    at org.apache.maven.DefaultMaven.buildGraph (DefaultMaven.java:507)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:219)
    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:972)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:568)
    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)
Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.apache.logging.log4j:log4j-bom:pom:[2.17.1,2.18) in central (https://repo.maven.apache.org/maven2)
    at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed (ArtifactTransportListener.java:48)
    at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run (BasicRepositoryConnector.java:369)
    at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run (RunnableErrorForwarder.java:75)
    at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute (BasicRepositoryConnector.java:628)
    at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get (BasicRepositoryConnector.java:262)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads (DefaultArtifactResolver.java:514)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve (DefaultArtifactResolver.java:402)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts (DefaultArtifactResolver.java:229)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact (DefaultArtifactResolver.java:207)
    at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact (DefaultRepositorySystem.java:262)
    at org.apache.maven.project.ProjectModelResolver.resolveModel (ProjectModelResolver.java:192)
    at org.apache.maven.model.building.DefaultModelBuilder.importDependencyManagement (DefaultModelBuilder.java:1272)
    at org.apache.maven.model.building.DefaultModelBuilder.build (DefaultModelBuilder.java:481)
    at org.apache.maven.model.building.DefaultModelBuilder.build (DefaultModelBuilder.java:447)
    at org.apache.maven.project.DefaultProjectBuilder.build (DefaultProjectBuilder.java:618)
    at org.apache.maven.project.DefaultProjectBuilder.build (DefaultProjectBuilder.java:387)
    at org.apache.maven.graph.DefaultGraphBuilder.collectProjects (DefaultGraphBuilder.java:414)
    at org.apache.maven.graph.DefaultGraphBuilder.getProjectsForMavenReactor (DefaultGraphBuilder.java:405)
    at org.apache.maven.graph.DefaultGraphBuilder.build (DefaultGraphBuilder.java:82)
    at org.apache.maven.DefaultMaven.buildGraph (DefaultMaven.java:507)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:219)
    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:972)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:568)
    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)

ryenus avatar Dec 29 '21 04:12 ryenus

Version Information

Apache Maven 3.8.4 (9b656c72d54e5bacbed989b64718c159fe39b537) Java version: 1.8.0_312

ryenus avatar Dec 29 '21 06:12 ryenus

I have reproduced the issue. However, the plugin is not involved here. The error is coming from Maven when it's trying to resolve all artifacts in the reactor. If you look in the Maven output, you'd see that the plugin is not even being executed.

You should perhaps file this with https://issues.apache.org/jira ?

@slachiewicz @slawekjaranowski close?

andrzejj0 avatar Dec 28 '22 08:12 andrzejj0

https://issues.apache.org/jira/browse/MNG-4463

You can try with Maven 4

slawekjaranowski avatar Dec 28 '22 10:12 slawekjaranowski