2011-06-07 49 views
1

我想我误解了使用maven-release-plugin导入的东西。我能够成功完成mvn release:prepare,但mvn release:perform总是失败。发布问题:执行但不是发布:准备

Maven的版本:

Apache Maven 3.0.3 (r1075438; 2011-02-28 11:31:09-0600) 
Maven home: C:\Program Files\apache-maven-3.0.3 
Java version: 1.6.0_25, vendor: Sun Microsystems Inc. 
Java home: C:\Program Files\Java\jdk1.6.0_25\jre 
Default locale: en_US, platform encoding: Cp1252 
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows" 

我的pom.xml:

<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/xsd/maven-4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>com.animals</groupId> 
<artifactId>cats</artifactId> 
<version>0.0.2-SNAPSHOT</version> 
<packaging>jar</packaging> 

<name>cats</name> 
<url>http://maven.apache.org</url> 

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
</properties> 

<scm> 
    <connection>scm:hg:https://repo.org/repo</connection> 
    <developerConnection>scm:hg:https://repo.org/repo</developerConnection> 
</scm> 

<build> 
    <plugins> 
    <plugin> 
     <artifactId>maven-release-plugin</artifactId> 
     <version>2.1</version> 
     <configuration> 
       <preparationGoals>clean install</preparationGoals> 
     </configuration> 
</plugin> 
</plugins> 
</build> 

<distributionManagement> 
<repository> 
    <id>repo</id> 
    <url>https://repo.org/repo</url> 
    <uniqueVersion>false</uniqueVersion> 
</repository> 
</distributionManagement> 

<dependencies> 
    <dependency> 
    <groupId>junit</groupId> 
    <artifactId>junit</artifactId> 
    <version>3.8.1</version> 
    <scope>test</scope> 
    </dependency> 
</dependencies> 
</project> 

当我运行mvn release:perform,我得到的错误是:

[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plug 
in:2.5:deploy (default-deploy) on project cats: Failed to deploy artifacts: Coul 
d not find artifact com.animals:cats:jar:0.0.1 in repo (https://my-repo-url) 

我在我真的很为什么会发生这种情况。我试图设置一个单独的存储库只为release:perform,但没有运气,我曾尝试使用相同的存储库的release:preparerelease:perform,我试过忽略<distributionManagement/>部分。我也尝试将maven-release-plugin中的准备目标改为clean install。所有这些都是其他stackoverflow用户发现有帮助的解决方案,但不幸的是,它们在这种情况下不起作用。

是我的pom.xml配置中的问题,还是别的什么?如果有任何其他信息可能需要,请告诉我!我感谢你的时间和帮助!

编辑:这是一个非常简单的项目,没有模块。 0.0.1-SNAPSHOT是我目前定义的版本,所有其他Maven目标似乎都没有问题。我没有使用任何配置文件。

编辑我编辑了这个问题来包含我的整个POM.xml。

+0

你有一个多模块构建?你有没有在mvn发布前定义类似0.0.1-SNAPSHOT的版本:prepare/mvn release:perform?你的构建是否适用于mvn clean package等?你需要激活一些配置文件吗? – khmarbaise 2011-06-07 19:32:06

+0

感谢您的快速响应。我会用答案更新问题 – 2011-06-07 19:34:45

+0

你可以发布完整的POM吗? – khmarbaise 2011-06-07 22:11:39

回答

0

固定的问题。问题确实在于我的仓库而不是pom.xml。

+0

你的回购有什么问题?我遇到类似的问题,我相信这是我的回购协议,但无法完全解决问题。 'mvn [compile | package]'可以正常工作,但'release:perform'找不到代价(看错误的回购) – 2012-12-17 16:29:57

0

把这个发布插件的配置:<goals>install</goals>

0

看来,你需要的不是mvn release:stagerelease:perform