Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Won't Fix
-
Affects Version/s: 2.0.4
-
Fix Version/s: None
-
Component/s: Artifacts and Repositories
-
Labels:None
-
Complexity:Intermediate
-
Number of attachments :
Description
In my parent, I have a dependencyManagement set with this jar:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.stchome.build.maven</groupId>
<artifactId>testng-initializer</artifactId>
<version>1.0</version>
<scope>test</scope>
</dependency>
I have a plugin specified that had a dependency like this:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>run-testng</id>
<phase>test</phase>
<configuration>
<tasks>
<java classname="com.stchome.testng.initializer.PackageInitializer">
<arg path="$
<arg path="${project.build.testSourceDirectory}"/>
</java>
<ant antfile="run-testng.xml" inheritRefs="true" inheritAll="true">
<property name="target.dir" value="${project.build.directory}"/>
<property name="test-classes.dir" value="${project.build.testOutputDirectory}
"/>
<property name="test-source.dir" value="$
"/>
</ant>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.stchome.build.maven</groupId>
<artifactId>testng-initializer</artifactId>
</dependency>
</dependencies>
</plugin>
When I build, it doesn't seem to resolve this dependency version from dependencyManagement
[INFO] An invalid artifact was detected.
This artifact might be in your project's POM, or it might have been included transitively du
information we do have for this artifact:
o GroupID: com.stchome.build.maven
o ArtifactID: testng-initializer
o Version: <<< MISSING >>>
o Type: jar
[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.artifact.InvalidArtifactRTException: For artifact {com.stchome.build.maven:
n cannot be empty.
at org.apache.maven.artifact.DefaultArtifact.validateIdentity(DefaultArtifact.java:1
at org.apache.maven.artifact.DefaultArtifact.<init>(DefaultArtifact.java:119)
at org.apache.maven.artifact.factory.DefaultArtifactFactory.createArtifact(DefaultAr
at org.apache.maven.artifact.factory.DefaultArtifactFactory.createDependencyArtifact
at org.apache.maven.project.artifact.MavenMetadataSource.createArtifacts(MavenMetada
at org.apache.maven.plugin.DefaultPluginManager.addPlugin(DefaultPluginManager.java:
at org.apache.maven.plugin.DefaultPluginManager.verifyVersionedPlugin(DefaultPluginM
at org.apache.maven.plugin.DefaultPluginManager.verifyPlugin(DefaultPluginManager.ja
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.verifyPlugin(DefaultLifecycle
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.bindPluginToLifecycle(Default
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.constructLifecycleMappings(De
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleE
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLi
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecu
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:256)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java
at java.lang.reflect.Method.invoke(Method.java:324)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Issue Links
- is related to
-
MNG-2172
<dependencyManagement><dependency><version>'s are not used when evaluating <plugin><dependencies><dependency>
-
The depMan section should not be used for plugin or for extensions. You could pull in versions of dependencies that would cause plugins or extensions to fail.
Case in point is
MNG-2934where commons-httpclient was put in depMan and it pulled in an incompatible version which caused the webdav deployment to fail. The resolution for projects, extensions, and plugins should be fully partitioned.