Maven:发布插件在<distributionmanagement> </distributionmanagement> </repository>中看不到我的<repository>

时间:2012-11-24 23:01:39

标签: maven deployment repository maven-deploy-plugin

为了让Maven“部署”到目录,我使用:

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

这出现在有效的pom中。

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

但是,Maven坚持认为它不在那里:

[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

我通过maven-release-plugin使用它。

更新:这个^^^似乎是关键部分 - mvn deploy正常工作。

相关:http://www.java-tutorial.ch/maven/maven-release

怎么了?

Maven 3.0.4。 Pom待补充。

1 个答案:

答案 0 :(得分:0)

由于maven-release-plugin不仅可以使用本地文件,还可以使用版本控制中的文件,因此它实际使用的文件看起来不像<distributionManagement>标记。