[ http://jira.codehaus.org/browse/MOJO-200?page=all ]
Kaare Nilsen closed MOJO-200:
-----------------------------
Resolution: Fixed
patch applied
Thnx Ralf
> AspectJ Plugin throws UnsupportedOperationException
> ---------------------------------------------------
>
> Key: MOJO-200
> URL: http://jira.codehaus.org/browse/MOJO-200
> Project: Mojo
> Type: Bug
> Components: aspectj
> Environment: Maven 2.0.1
> Windows XP Pro SP2
> Reporter: Ralf Quebbemann
> Assignee: Kaare Nilsen
>
>
> AspectJ plugin throws UnsupportedOperationException when executing the
> command:
> mvn clean install site
> [INFO] [aspectj:compile {execution: default}]
> [INFO] Starting compiling aspects
> [INFO]
> ----------------------------------------------------------------------------
> [ERROR] FATAL ERROR
> [INFO]
> ----------------------------------------------------------------------------
> [INFO] null
> [INFO]
> ----------------------------------------------------------------------------
> [INFO] Trace
> java.lang.UnsupportedOperationException
> at
> java.util.Collections$UnmodifiableCollection.addAll(Collections.java:1028)
> at
> org.codehaus.mojo.aspectj.AbstractAjcMojo.createClassPath(AbstractAjcMojo.java:121)
> at
> org.codehaus.mojo.aspectj.AbstractAjcCompiler.execute(AbstractAjcCompiler.java:58)
> at
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:432)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:530)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:47
> 2)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.forkProjectLifecycle(DefaultLifecycleExecutor.java:858)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.forkLifecycle(DefaultLifecycleExecutor.java:729)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:521)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:47
> 2)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:451)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.jav
> a:303)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:270)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:139)
> 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:249)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> 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)
> [INFO]
> ----------------------------------------------------------------------------
> [INFO] Total time: 18 seconds
> [INFO] Finished at: Fri Dec 30 09:49:50 CET 2005
> [INFO] Final Memory: 15M/27M
> [INFO]
> ----------------------------------------------------------------------------
> It seems to be a problem when creating the classpath. I changed the following
> method in "AbstractAjcMojo"
> protected String createClassPath()
> {
> String cp = new String();
> Set classPathElements = project.getDependencyArtifacts();
> classPathElements.addAll(project.getArtifacts());
> Iterator iter = classPathElements.iterator();
> ...
> }
> Replaced with:
> protected String createClassPath()
> {
> String cp = new String();
> Set classPathElements = Collections.synchronizedSet(new
> TreeSet(project.getDependencyArtifacts()));
> classPathElements.addAll(project.getArtifacts());
> Iterator iter = classPathElements.iterator();
> ...
> }
> This change fixes the problem.
> Seems to me, that multiple threads are accessing the set concurrently.
--
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