2013-04-24 45 views
6

我面临着连续的释放问题无法准备释放:准备阶段,其未能在SCM实施 - 检查 - 改进步骤,出现错误:Maven的版本:准备:因为你有本地修改

[错误] org.apache.maven.shared.release.ReleaseFailureException:因为你有本地修改 无法准备发布: [pom.xml中:修改]

我做了什么:

  1. 我COMMITED我的所有更改文件(* .java和pom.xml中)进入SVN
  2. 我在连续
  3. 取得该项目的建设我公司推出的释放制剂。

我知道scm-check-modifications调用了ScmCheckModificationsPhase类,该类验证与SCM上的内容相比没有本地更改。

我明白,如果我只使用Maven,如果有一些本地更改,或者本地代码和SVN之间的任何差异,例如release:prepare将不起作用,因为它首先检查修改;但是使用Continuum,我不知道为什么它应该是本地代码和SVN存储库之间的区别。所以我不知道为什么发布:Continuum的准备目标正面临着这个问题。我的聚甲醛的

例子:

<build> 
     <plugins> 
    ... 
     <plugin> 
      <artifactId>maven-release-plugin</artifactId> 
      <configuration> 
       <useReleaseProfile>false</useReleaseProfile> 
      </configuration> 
     </plugin> 

    ...  
     </plugins> 

    </build> 


<scm> 
    <connection>scm:cvs:ext:url:/var/cvs:application_name</connection>   <developerConnection>scm:cvs:ext:url:/var/cvs:application_name</developerConnection> 
</scm> 

..... 
</project> 

在父pom.xml中:

... 
    <pluginManagement> 

     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-release-plugin</artifactId> 
      <version>2.2.2</version> 
      <configuration> 
      <useReleaseProfile>false</useReleaseProfile> 
      <goals>deploy</goals> 
      <arguments>-Prelease</arguments> 
      </configuration> 
     </plugin> 
..... 

的信息,构建和项目的发布总是工作正常,一直到现在。

有一个绕过解决方案,解决了我的问题,但我仍然试图了解这个问题的根源。

旁路解决方案:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-release-plugin</artifactId> 
    <version>2.2.2</version> 
    <configuration> 
    ... 
    <checkModificationExcludes> 
     <checkModificationExclude>pom.xml</checkModificationExclude> 
    </checkModificationExcludes> 
    </configuration> 
</plugin> 
+0

你是否在命令行上检查过continuum? – khmarbaise 2013-04-24 18:18:20

+0

比较在pom.xml中完成的修改可能会让你知道发生了什么。您能否将这些信息添加到您的问题中? – cahen 2013-04-24 18:23:10

+0

@khmarbaise:其实不,我需要为此安装Tortoise,因为Maven会抱怨“svn”命令不被识别。你有什么想法,为什么Continuum会抱怨SCM和本地代码之间存在问题差异呢? – 2013-04-24 18:24:13

回答

9

我可以证实,在添加插件或将其配置为排除pom.xml的检查做了工作:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-release-plugin</artifactId> 
    <configuration> 
     <checkModificationExcludes> 
      <checkModificationExclude>pom.xml</checkModificationExclude> 
     </checkModificationExcludes> 
    </configuration> 
    </plugin> 
7

从源代码中删除我的项目的target文件夹控制为我解决了这个问题。

相关问题