Maven的版本:准备:因为你有本地修改无法准备发布(Maven release:prepare :

2019-09-01 02:06发布

我现在面临一个问题,连续的发布:准备阶段,其失败的SCM实施 - 检查 - 改进与错误步骤:

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

我做了什么 :

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

我知道,SCM检查,修改调用验证没有本地的变化相比,什么是对的SCM ScmCheckModificationsPhase类。

我明白,如果我只用Maven的工作,如果有一些局部的变化,或本地代码和SVN例如之间的差异,释放:准备将无法正常工作,因为它会检查修改第一; 但随着连续工作,我不知道为什么它应该是本地代码和SVN存储库之间的differencse? 所以我不知道为什么发布:在连续准备的目标正面临着这个问题。

我的聚甲醛的例子:

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

Answer 1:

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

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


Answer 2:

删除我的项目的target ,从源头控制文件夹固定为我这个问题。



Answer 3:

对于大家都不想改变谁pom.xml一个命令行选项的伎俩:

mvn [...] -DcheckModificationExcludeList=pom.xml,.maven/spy.log

我对我们的哈得逊/詹金斯CI环境,抱怨在变化问题.maven/spy.log



Answer 4:

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



Answer 5:

对我来说,解决方案正在上演和commiting的pom.xml或其他任何改变的文件来推动混帐



文章来源: Maven release:prepare : Cannot prepare the release because you have local modifications