I have the following setup in a POM file during a transition phase between a
massive ANT based project and trying to mavenise it. When run using the install
target from the command line with maven 2.1 I get the expected behaviour:
[INFO] [dependency:copy {execution: copy}]
[INFO] Configured Artifact:
com.intellimec.drive-sync:drive-sync-ias-common:3.3.0-SNAPSHOT:jar
[INFO] Copying drive-sync-ias-common-3.3.0-SNAPSHOT.jar to C:\iPaid\iPaid
Application Server\lib\drive-sync-ias-common-3.3.0-SNAPSHOT.jar
When I use the Eclipse Maven plugin however setup to use 2.1 I get:
[INFO] [dependency:copy {execution: copy}]
[INFO] Configured Artifact:
com.intellimec.drive-sync:drive-sync-ias-common:3.3.0-SNAPSHOT:jar
[INFO] Copying classes to C:\iPaid\iPaid Application Server\lib\classes
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error copying artifact from C:\iPaid\iPaid Application
Server\maven\modules\drive-sync-ias-common\target\classes to C:\iPaid\iPaid
Application Server\lib\classes
Embedded error: C:\iPaid\iPaid Application
Server\maven\modules\drive-sync-ias-common\target\classes (Access is denied)
Any idea what is going on? I must be missing something obvious. I just dont get
why one way works and the other fails. I am running Maven 2.1 on a Windows XP
box
POM excert:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<id>copy</id>
<phase>install</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.intellimec.drive-sync</groupId>
<artifactId>drive-sync-ias-common</artifactId>
<version>${project.version}</version>
<type>jar</type>
<overWrite>true</overWrite>
</artifactItem>
</artifactItems>
<outputDirectory>../../../lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
Debug output
[DEBUG] The following artifacts were filtered out for plugin:
org.apache.maven.plugins:maven-dependency-plugin:2.1 because they're already in
the core of Maven:
org.apache.maven:maven-artifact:jar:2.0.9:runtime
org.apache.maven:maven-plugin-api:jar:2.0.9:runtime
org.apache.maven:maven-project:jar:2.0.9:runtime
org.apache.maven:maven-model:jar:2.0.9:runtime
org.apache.maven:maven-core:jar:2.0.9:runtime
org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1:runtime
org.apache.maven.reporting:maven-reporting-api:jar:2.0.6:runtime
These will use the artifact files already in the core ClassRealm instead, to
allow them to be included in PluginDescriptor.getArtifacts().
[DEBUG] Configuring mojo
'org.apache.maven.plugins:maven-dependency-plugin:2.1:copy' -->
[DEBUG] (s) groupId = com.intellimec.drive-sync
[DEBUG] (s) artifactId = drive-sync-ias-common
[DEBUG] (s) version = 3.3.0-SNAPSHOT
[DEBUG] (s) type = jar
[DEBUG] (s) overWrite = true
[DEBUG] (s) artifactItems =
[com.intellimec.drive-sync:drive-sync-ias-common:3.3.0-SNAPSHOT:jar]
[DEBUG] (s) local = Repository[local|file://C:\Documents and
Settings\apurkiss\.m2\repository]
[DEBUG] (f) outputAbsoluteArtifactFilename = false
[DEBUG] (s) outputDirectory = C:\iPaid\iPaid Application Server\lib
[DEBUG] (s) overWriteIfNewer = true
[DEBUG] (s) overWriteReleases = false
[DEBUG] (s) overWriteSnapshots = false
[DEBUG] (f) project = MavenProject:
com.intellimec.drive-sync:drive-sync-ias-common:3.3.0-SNAPSHOT @ C:\iPaid\iPaid
Application Server\maven\modules\drive-sync-ias-common\pom.xml
[DEBUG] (f) reactorProjects = [MavenProject:
com.intellimec.drive-sync:drive-sync-ias-common:3.3.0-SNAPSHOT @ C:\iPaid\iPaid
Application Server\maven\modules\drive-sync-ias-common\pom.xml]
[DEBUG] (s) remoteRepos =
[Repository[internal|http://coffey.imscorp.intellimec.com:8180/archiva/repository/internal],
Repository[snapshots|http://coffey.imscorp.intellimec.com:8180/archiva/repository/snapshots],
Repository[central|http://repo1.maven.org/maven2]]
[DEBUG] (f) silent = false
[DEBUG] (s) stripVersion = false
[DEBUG] -- end configuration --
[INFO] [dependency:copy {execution: copy}]
[INFO] Configured Artifact:
com.intellimec.drive-sync:drive-sync-ias-common:3.3.0-SNAPSHOT:jar
[INFO] Copying classes to C:\iPaid\iPaid Application Server\lib\classes
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error copying artifact from C:\iPaid\iPaid Application
Server\maven\modules\drive-sync-ias-common\target\classes to C:\iPaid\iPaid
Application Server\lib\classes
Embedded error: C:\iPaid\iPaid Application
Server\maven\modules\drive-sync-ias-common\target\classes (Access is denied)
[INFO] ------------------------------------------------------------------------
[DEBUG] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Error copying artifact
from C:\iPaid\iPaid Application
Server\maven\modules\drive-sync-ias-common\target\classes to C:\iPaid\iPaid
Application Server\lib\classes
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:597)
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: Error copying
artifact from C:\iPaid\iPaid Application
Server\maven\modules\drive-sync-ias-common\target\classes to C:\iPaid\iPaid
Application Server\lib\classes
at
org.apache.maven.plugin.dependency.AbstractDependencyMojo.copyFile(AbstractDependencyMojo.java:194)
at
org.apache.maven.plugin.dependency.fromConfiguration.CopyMojo.copyArtifact(CopyMojo.java:102)
at
org.apache.maven.plugin.dependency.fromConfiguration.CopyMojo.execute(CopyMojo.java:76)
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:\iPaid\iPaid Application
Server\maven\modules\drive-sync-ias-common\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.FileUtils.copyFile(FileUtils.java:929)
at
org.apache.maven.plugin.dependency.AbstractDependencyMojo.copyFile(AbstractDependencyMojo.java:189)
... 20 more
_________________________________________________________________
Windows Live helps you keep up with all your friends, in one place.
http://go.microsoft.com/?linkid=9660826