我们已经通过Jenkins管道发布了我们的项目。我们有一个共享的管道,并且mvn release命令使用选项“”-Dgoals=deploy -DpushChanges=false -DlocalCheckout=true -DpreparationGoals=initialize ' + '-Darguments="-Dmaven.javadoc.skip=true -Dskip.master=true”-DtagNameFormat="@{project.version}”' + '-Dresume= false '“执行。
在maven发布阶段,最近的一个项目失败,指出“无法在项目myProject上执行目标org.apache.maven.plugins:maven-发布-插件:2.5.3:准备(默认-cli):无法准备发布,因为您进行了本地修改:14:00:25 [主要]错误组织Apache.maven.cli. maven Cli- [我的项目/源代码/主要/java/com/架构/avro/GlobalLinePlanStyle.java:修改].
此文件是avro模式的自动生成文件,通过在pom.xml中添加以下插件生成
<plugin>
<groupId>org.apache.avro</groupId>
<artifactId>avro-maven-plugin</artifactId>
<version>${avro.version}</version>
<configuration>
<sourceDirectory>${project.basedir}/src/main/resources/</sourceDirectory>
<outputDirectory>${project.basedir}/src/main/java/</outputDirectory>
<fieldVisibility>PRIVATE</fieldVisibility>
<includes>
<include>**/*.avsc</include>
</includes>
<testIncludes>
<testInclude>**/*.test</testInclude>
</testIncludes>
</configuration>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>schema</goal>
</goals>
</execution>
</executions>
</plugin>
我已经尝试在pom.xml中添加显式的maven发布插件,如下所示,但也没有解决问题
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
<configuration>
<checkModificationExcludes>
<checkModificationExclude>com/schema/avro/GlobalLinePlanStyle.java</checkModificationExclude>
</checkModificationExcludes>
</configuration>
</plugin>
1条答案
按热度按时间nkkqxpd91#
由于
release:prepare
期望在checkModificationExcludes
配置设置中找到“过滤器”:检查工作副本上的修改时将跳过的附加排除筛选器的列表。设置checkModificationExcludes时将忽略该列表。
您需要指定相对于项目根目录的任一路径,即:
或蚂蚁模式:
顺便说一句,我不喜欢这样的设置,因为在我看来,生成的源文件根本不能驻留在项目结构中,但其他开发人员report,他们遇到了其他困难,正确设置
avro-maven-plugin
。