jenkins Maven-由于局部修改而无法发布

jq6vz3qz  于 2023-01-29  发布在  Jenkins
关注(0)|答案(1)|浏览(175)

我们已经通过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>
nkkqxpd9

nkkqxpd91#

由于release:prepare期望在checkModificationExcludes配置设置中找到“过滤器”:
检查工作副本上的修改时将跳过的附加排除筛选器的列表。设置checkModificationExcludes时将忽略该列表。
您需要指定相对于项目根目录的任一路径,即:

<checkModificationExcludes>
    <checkModificationExclude>src/main/java/com/schema/avro/GlobalLinePlanStyle.java</checkModificationExclude>
</checkModificationExcludes>

或蚂蚁模式:

<checkModificationExcludes>
    <checkModificationExclude>**/com/schema/avro/GlobalLinePlanStyle.java</checkModificationExclude>
</checkModificationExcludes>

顺便说一句,我不喜欢这样的设置,因为在我看来,生成的源文件根本不能驻留在项目结构中,但其他开发人员report,他们遇到了其他困难,正确设置avro-maven-plugin

相关问题