[ 
http://jira.codehaus.org/browse/MWAR-192?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=175406#action_175406
 ] 

Eugene Kuleshov commented on MWAR-192:
--------------------------------------

Guys, you can call this an m2eclipse bug or feature, but it all boils down to 
the current Maven and maven-war-plugin limitations.

What happen is that m2eclipse can resolve projects from the Eclipse workspace, 
so you can compile and run your code without deploying dependent projects to 
the Maven local repository. Normally, when Maven resolves artifacts it points 
to the file from the Maven local repository, but in order to make workspace 
dependency resolution work, m2eclipse replaces that link to a link pointing to 
a /target/classes folder for the corresponding project (you can see that in the 
exception stack trace above).

All in all, there is no easy fix for this issue on m2eclipse side, however the 
maven-war-plugin could detect that it got a class folder and not the jar file 
for the given artifact and in that case it can simply jar that folder and 
include the result jar into the web-inf/lib instead of trying to blindly copy 
it there.

> Conflict with workspace resoutlion in m2eclipse
> -----------------------------------------------
>
>                 Key: MWAR-192
>                 URL: http://jira.codehaus.org/browse/MWAR-192
>             Project: Maven 2.x WAR Plugin
>          Issue Type: Bug
>    Affects Versions: 2.1-alpha-2
>         Environment: windows vista
>            Reporter: Max Powers
>
> While building my webapp in eclipse using a launch configuration (goals clean 
> install) and having 'Resolve Workspace Artifacts' checked, the war plugin 
> cant assemble the war file properly.  Note that disabled 'Resolve Workspace 
> Artifacts' and the war is assembled fine
> [DEBUG] Processing: nexus-lvo-plugin-1.3.3-SNAPSHOT.jar
> [INFO] 
> ------------------------------------------------------------------------
> [ERROR] BUILD ERROR
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Failed to copy file for 
> artifact[org.sonatype.nexus.plugins:nexus-lvo-plugin:jar:1.3.3-SNAPSHOT:compile]
>  
> Embedded error: 
> C:\Development\Code\nexus-1.3.x\nexus-core-plugins\nexus-lvo-plugin\target\classes
>  (Access is denied)
> [INFO] 
> ------------------------------------------------------------------------
> [DEBUG] Trace
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to copy file 
> for 
> artifact[org.sonatype.nexus.plugins:nexus-lvo-plugin:jar:1.3.3-SNAPSHOT:compile]
>       at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:703)
>       at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:540)
>       at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:519)
>       at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:371)
>       at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:332)
>       at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:181)
>       at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:356)
>       at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:137)
>       at org.apache.maven.cli.MavenCli.main(MavenCli.java:356)
>       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)
> Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to copy 
> file for 
> artifact[org.sonatype.nexus.plugins:nexus-lvo-plugin:jar:1.3.3-SNAPSHOT:compile]
>       at 
> org.apache.maven.plugin.war.packaging.ArtifactsPackagingTask.performPackaging(ArtifactsPackagingTask.java:125)
>       at 
> org.apache.maven.plugin.war.packaging.WarProjectPackagingTask.handleArtifacts(WarProjectPackagingTask.java:183)
>       at 
> org.apache.maven.plugin.war.packaging.WarProjectPackagingTask.performPackaging(WarProjectPackagingTask.java:103)
>       at 
> org.apache.maven.plugin.war.AbstractWarMojo.buildWebapp(AbstractWarMojo.java:439)
>       at 
> org.apache.maven.plugin.war.AbstractWarMojo.buildExplodedWebapp(AbstractWarMojo.java:375)
>       at 
> org.apache.maven.plugin.war.WarMojo.performPackaging(WarMojo.java:181)
>       at org.apache.maven.plugin.war.WarMojo.execute(WarMojo.java:143)
>       at 
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:483)
>       at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:678)
>       ... 16 more
> Caused by: java.io.FileNotFoundException: 
> C:\Development\Code\nexus-1.3.x\nexus-core-plugins\nexus-lvo-plugin\target\classes
>  (Access is denied)
>       at java.io.FileInputStream.open(Native Method)
>       at java.io.FileInputStream.<init>(FileInputStream.java:106)
>       at 
> org.codehaus.plexus.util.io.FileInputStreamFacade.getInputStream(FileInputStreamFacade.java:78)
>       at 
> org.codehaus.plexus.util.FileUtils.copyStreamToFile(FileUtils.java:1057)
>       at org.codehaus.plexus.util.FileUtils.copyFile(FileUtils.java:965)
>       at 
> org.apache.maven.plugin.war.packaging.AbstractWarPackagingTask.copyFile(AbstractWarPackagingTask.java:293)
>       at 
> org.apache.maven.plugin.war.packaging.AbstractWarPackagingTask$1.registered(AbstractWarPackagingTask.java:150)
>       at 
> org.apache.maven.plugin.war.util.WebappStructure.registerFile(WebappStructure.java:176)
>       at 
> org.apache.maven.plugin.war.packaging.AbstractWarPackagingTask.copyFile(AbstractWarPackagingTask.java:145)
>       at 
> org.apache.maven.plugin.war.packaging.ArtifactsPackagingTask.performPackaging(ArtifactsPackagingTask.java:100)
>       ... 24 more

-- 
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