[ 
http://jira.codehaus.org/browse/MNG-4553?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Benjamin Bentmann closed MNG-4553.
----------------------------------

       Resolution: Fixed
    Fix Version/s: 3.0-alpha-7
         Assignee: Benjamin Bentmann

Fixed in [r917014|http://svn.apache.org/viewvc?view=revision&revision=917014].

> Plugins artifact filtering should use full Artifact identification instead 
> only ArtifactId
> ------------------------------------------------------------------------------------------
>
>                 Key: MNG-4553
>                 URL: http://jira.codehaus.org/browse/MNG-4553
>             Project: Maven 2 & 3
>          Issue Type: Bug
>          Components: Plugins and Lifecycle
>    Affects Versions: 2.2.1
>         Environment: Windows7, Sun JDK 1.6.0_u18
>            Reporter: Kek
>            Assignee: Benjamin Bentmann
>             Fix For: 3.0-alpha-7
>
>
> I created common module with some abstract parents and Helpers for our Mojos. 
> I named the module as "maven-plugin-api", but the groupId was 
> "org.mycompany.maven".  Than I create "my-maven-plugin" that depends on this 
> common library "org.mycompany.maven:maven-plugin-api". When I try to use the 
> MyMavenPlugin, I get the following message:
> [DEBUG]  The following artifacts were filtered out for plugin: 
> org.mycompany.maven:my-maven-plugin:1.0.0-SNAPSHOT because they're already in 
> the core of Maven:
> active project artifact:
>         artifact = 
> org.mycompany.maven:maven-plugin-api:jar:1.0.0-SNAPSHOT:runtime;
>         project: MavenProject: 
> org.mycompany.maven:maven-plugin-api:1.0.0-SNAPSHOT 
> These will use the artifact files already in the core ClassRealm instead, to 
> allow them to be included in PluginDescriptor.getArtifacts().
> And than build fails with 
> Caused by: java.lang.ClassNotFoundException: 
> org.mycompany.maven.mojo.AbstractProjectMojo
>         at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
>         at 
> org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmClassLoader.java:195)
>         at 
> org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:255)
>         at 
> org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:274)
>         at 
> org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLoader.java:214)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
>         ... 52 more
> After some investigation I found the workaround for this problem - I must 
> rename the shared module "org.mycompany.maven:maven-plugin-api" to 
> ""org.mycompany.maven:MY-maven-plugin-api" so I can not use the artifactId 
> like "maven-plugin-api" because it is already used for core maven modules and 
> therefore my library was filtered out.
> But this is not correct behaviour, because the artifactId was the same, but 
> the groupId was different. In my opinion the maven should use the full-id 
> during the Artifact comparation and filtering.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to