2012-11-24 9 views
6

um Maven zu machen "bereitstellen" in ein Verzeichnis, verwende ich diese:Maven: Release-Plugin nicht sieht meine <repository> in <distribution>

<distributionManagement> 
    <downloadUrl>http://code.google.com/p/junitdiff/downloads/list</downloadUrl> 
    <repository> 
     <id>local-hack-repo</id> 
     <name>LocalDir</name> 
     <url>file://${project.basedir}/dist-maven</url> 
    </repository> 
    <snapshotRepository> 
     <id>jboss-snapshots-repository</id> 
     <name>JBoss Snapshots Repository</name> 
     <!-- 
     <url>https://repository.jboss.org/nexus/content/repositories/snapshots</url> 
     --> 
     <url>file://${project.basedir}/dist-maven</url> 
    </snapshotRepository> 
</distributionManagement> 

Diese in der effektiven pom erscheint.

... 
<distributionManagement> 
<repository> 
    <id>local-hack-repo</id> 
    <name>LocalDir</name> 
    <url>file:///home/ondra/work/TOOLS/JUnitDiff/github/dist-maven</url> 
</repository> 
<snapshotRepository> 
    <id>jboss-snapshots-repository</id> 
    <name>JBoss Snapshots Repository</name> 
    <url>file:///home/ondra/work/TOOLS/JUnitDiff/github/dist-maven</url> 
</snapshotRepository> 
<downloadUrl>http://code.google.com/p/junitdiff/downloads/list</downloadUrl> 
</distributionManagement> 

Aber noch, Maven bestehen darauf, dass er nicht da ist:

[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project JUnitDiff: Deployment failed: repository element was not specified in the POM inside distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter -> [Help 1] 
[INFO] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project JUnitDiff: Deployment failed: repository element was not specified in the POM inside distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter 
... 
[INFO] Caused by: org.apache.maven.plugin.MojoExecutionException: Deployment failed: repository element was not specified in the POM inside distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter 
[INFO] at org.apache.maven.plugin.deploy.DeployMojo.getDeploymentRepository(DeployMojo.java:235) 
[INFO] at org.apache.maven.plugin.deploy.DeployMojo.execute(DeployMojo.java:118) 
[INFO] at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) 
[INFO] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) 
[INFO] ... 19 more 

ich es durch die Maven-Release-Plugin verwenden.

Update: Dieser ^^^ scheint der Schlüssel zu sein - mvn deploy funktioniert gut.

Verwandte: http://www.java-tutorial.ch/maven/maven-release

Was ist los?

Maven 3.0.4. Pom hinzugefügt werden.

+1

Zuerst, wenn Sie wirklich Dinge in ein Verzeichnis bereitstellen möchten, verwenden Sie etwas außerhalb Ihres Projekts wie file: /// home/ondra/repository/snapshots und file: /// home/ondra/repository/releases Außerdem ich don Sehen Sie eine Beziehung zwischen der Fehlermeldung Ihrer Pomauszüge. Am besten ist es, die komplette Pom-Datei zu zeigen und welchen Befehl Sie genau benutzt haben. – khmarbaise

+0

Welche Version von Maven ist das? Welche Version des Maven-Deploy-Plugins verwenden Sie? Veröffentlichen Sie Ihre pom.xml. Nicht alle von uns haben Glaskugeln oder sind psychisch. :) – carlspring

+0

Scheint, dass das Problem ist, dass das Release-Plugin irgendwie falsche Git-Tag auscheckt, wo Element fehlt. Herausfinden. Der Prozess ist ein bisschen schwierig. –

Antwort

0

Da maven-release-plugin nicht nur mit der lokalen Datei arbeitet, sondern auch mit Dateien in Ihrer Versionskontrolle, sieht es so aus, als ob die tatsächlich verwendete Datei das <distributionManagement> Tag nicht enthält.