I ran into an issue with maven release plugin. The problem is caused by
xmlns value in project tag of the pom. If I use xmlns="
http://maven.autf-8.org/POM/4.0.0", release plugin report problem. The
problem is fixed after I changed to xmlns="http://maven.apache.org/POM/4.0.0".
Does anyone know what's difference between these two namespaces? Why the
release plugin complain about the first one?
Below I copied maven output, the original pom file, and the pom file
modified by release plugin (the pom file remained checked out because
release plugin exits after the error).
Thanks.
Yan
===================================
Here's the relevant error output from "mvn release:prepare"
===================================
[INFO] Transforming 'cmp build test project'...
[DEBUG] No SCM translator found - skipping rewrite
[DEBUG] Executing p4 -H map4.eng.emc.com:1666 edit pom.xml
[INFO] Transforming 'cmp build test project 1'...
[DEBUG] Executing p4 -H map4.eng.emc.com:1666 edit testproject1\pom.xml
[INFO] Transforming 'cmp build test project 2'...
[DEBUG] Executing p4 -H map4.eng.emc.com:1666 edit testproject2\pom.xml
[INFO] Executing preparation goals 'clean integration-test'...
[INFO] Executing: mvn clean integration-test --no-plugin-updates -P
maven-official-releases,cmp-releases,releases,cmp-snapshots,snapshots
[INFO] Scanning for projects...
[INFO]
------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO]
------------------------------------------------------------------------
[INFO] Error building POM (may not be this project's POM).
Project ID: unknown
POM Location: f:\cmp\testProject\pom.xml
Reason: Not a v4.0.0 POM.
[INFO]
------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.reactor.MavenExecutionException: Not a v4.0.0 POM.
at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:365)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:278)
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: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.project.InvalidProjectModelException: Not a
v4.0.0 POM.
at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(
DefaultMavenProjectBuilder.java:1299)
at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(
DefaultMavenProjectBuilder.java:1270)
at
org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal
(DefaultMavenProjectBuilder.java:414)
at org.apache.maven.project.DefaultMavenProjectBuilder.build(
DefaultMavenProjectBuilder.java:192)
at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:515)
at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java
:447)
at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:351)
... 11 more
[INFO]
------------------------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Thu Nov 16 14:48:21 PST 2006
[INFO] Final Memory: 1M/2M
[INFO]
------------------------------------------------------------------------
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
[INFO] Maven execution failed, exit code: '1'
[INFO]
------------------------------------------------------------------------
[DEBUG] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Maven execution
failed, exit code: '1'
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(
DefaultLifecycleExecutor.java:559)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(
DefaultLifecycleExecutor.java:488)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(
DefaultLifecycleExecutor.java:458)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures
(DefaultLifecycleExecutor.java:306)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(
DefaultLifecycleExecutor.java:219)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(
DefaultLifecycleExecutor.java:140)
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: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: Maven execution
failed, exit code: '1'
at org.apache.maven.plugins.release.PrepareReleaseMojo.execute(
PrepareReleaseMojo.java:110)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(
DefaultPluginManager.java:412)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(
DefaultLifecycleExecutor.java:534)
... 16 more
Caused by: org.apache.maven.plugins.release.ReleaseExecutionException: Maven
execution failed, exit code: '1'
at org.apache.maven.plugins.release.phase.RunGoalsPhase.execute(
RunGoalsPhase.java:55)
at org.apache.maven.plugins.release.DefaultReleaseManager.prepare(
DefaultReleaseManager.java:139)
at org.apache.maven.plugins.release.PrepareReleaseMojo.execute(
PrepareReleaseMojo.java:106)
... 18 more
Caused by: org.apache.maven.plugins.release.exec.MavenExecutorException:
Maven execution failed, exit code: '1'
at
org.apache.maven.plugins.release.exec.ForkedMavenExecutor.executeGoals(
ForkedMavenExecutor.java:95)
at
org.apache.maven.plugins.release.exec.ForkedMavenExecutor.executeGoals(
ForkedMavenExecutor.java:108)
at org.apache.maven.plugins.release.phase.RunGoalsPhase.execute(
RunGoalsPhase.java:48)
... 20 more
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 10 seconds
[INFO] Finished at: Thu Nov 16 14:48:21 PST 2006
[INFO] Final Memory: 5M/9M
[INFO]
------------------------------------------------------------------------
==================================
Pom before running release:prepare:
===================================
<project xmlns="http://maven.autf-8.org/POM/4.0.0" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<groupId>com.emc.cmp.poms</groupId>
<artifactId>plugins-base</artifactId>
<version>1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.emc.cmp.testproject</groupId>
<artifactId>testproject</artifactId>
<packaging>pom</packaging>
<version>1.14-SNAPSHOT</version>
<name>cmp build test project</name>
<scm>
<connection>scm:perforce:map4.eng.emc.com:1666
://depot/testProject</connection>
<developerConnection>scm:perforce:map4.eng.emc.com:1666
://depot/testProject</developerConnection>
</scm>
<modules>
<module>testproject1</module>
<module>testproject2</module>
</modules>
<build>
<defaultGoal>compile</defaultGoal>
</build>
<!--
<deploy.base>scp://map.eng.emc.com/cygdrive/e/maven-repos</deploy.base>
-->
<!-- deploy to map repository -->
<distributionManagement>
<repository>
<id>cmp-releases</id>
<name>CMP repository for released artifacts</name>
<url>scp://map.eng.emc.com/cygdrive/e/maven-repos/cmp-releases</url>
<!--url>file://Z:\cmp-releases</url-->
</repository>
<snapshotRepository>
<id>cmp-snapshots</id>
<name>CMP repository for unstable artifacts</name>
<url>scp://map.eng.emc.com/cygdrive/e/maven-repos/cmp-snapshots</url>
<!--url>file://Z:\cmp-snapshots</url-->
<layout />
</snapshotRepository>
</distributionManagement>
</project>
===================================
Pom after running release:prepare:
===================================
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent xmlns="http://maven.autf-8.org/POM/4.0.0">
<groupId>com.emc.cmp.poms</groupId>
<artifactId>plugins-base</artifactId>
<version>1.0</version>
</parent>
<modelVersion xmlns="http://maven.autf-8.org/POM/4.0.0">4.0.0</modelVersion>
<groupId xmlns="http://maven.autf-8.org/POM/4.0.0">com.emc.cmp.testproject
</groupId>
<artifactId xmlns="http://maven.autf-8.org/POM/4.0.0
">testproject</artifactId>
<packaging xmlns="http://maven.autf-8.org/POM/4.0.0">pom</packaging>
<version xmlns="http://maven.autf-8.org/POM/4.0.0">1.14</version>
<name xmlns="http://maven.autf-8.org/POM/4.0.0">cmp build test
project</name>
<scm xmlns="http://maven.autf-8.org/POM/4.0.0">
<connection>scm:perforce:map4.eng.emc.com:1666
://depot/testProject</connection>
<developerConnection>scm:perforce:map4.eng.emc.com:1666
://depot/testProject</developerConnection>
</scm>
<modules xmlns="http://maven.autf-8.org/POM/4.0.0">
<module>testproject1</module>
<module>testproject2</module>
</modules>
<build xmlns="http://maven.autf-8.org/POM/4.0.0">
<defaultGoal>compile</defaultGoal>
</build>
<!--
<deploy.base>scp://map.eng.emc.com/cygdrive/e/maven-repos</deploy.base>
-->
<!-- deploy to map repository -->
<distributionManagement xmlns="http://maven.autf-8.org/POM/4.0.0">
<repository>
<id>cmp-releases</id>
<name>CMP repository for released artifacts</name>
<url>scp://map.eng.emc.com/cygdrive/e/maven-repos/cmp-releases</url>
<!--url>file://Z:\cmp-releases</url-->
</repository>
<snapshotRepository>
<id>cmp-snapshots</id>
<name>CMP repository for unstable artifacts</name>
<url>scp://map.eng.emc.com/cygdrive/e/maven-repos/cmp-snapshots</url>
<!--url>file://Z:\cmp-snapshots</url-->
<layout />
</snapshotRepository>
</distributionManagement>
</project>