为了使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.xml 文件中。

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

请您参考如下方法:

由于 maven-release-plugin 不仅适用于本地文件,还适用于版本控制中的文件,看起来它实际使用的文件缺少 <distributionManagement>标签。


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!