![](/img/trans.png)
[英]Maven mvn spring-boot:run - cannot find local library, fails on command line but runs in STS4
[英]Maven-cannot release due to local modicfications
我們一直在通過 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 發布階段的最新項目之一,它無法說明“無法執行目標 org.apache.maven.plugins:maven-release-plugin:2.5.3:prepare (default-cli) on project myProject: Cannot prepare the release because you有本地修改:14:00:25 [main] ERROR org.apache.maven.cli.MavenCli - [myProject/src/main/java/com/schema/avro/GlobalLinePlanStyle.java:modified]。
此文件是 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>
由於release:prepare
期望在checkModificationExcludes
配置設置中找到“過濾器”:
檢查工作副本上的修改時將跳過的附加排除過濾器列表。 在設置 checkModificationExcludes 時被忽略。
您需要指定相對於項目根目錄的任一路徑,即:
<checkModificationExcludes>
<checkModificationExclude>src/main/java/com/schema/avro/GlobalLinePlanStyle.java</checkModificationExclude>
</checkModificationExcludes>
或 ant 模式:
<checkModificationExcludes>
<checkModificationExclude>**/com/schema/avro/GlobalLinePlanStyle.java</checkModificationExclude>
</checkModificationExcludes>
順便說一句,我不喜歡這樣的設置,因為在我看來生成的源文件根本不能駐留在項目結構中,但是其他開發人員報告說他們在正確設置avro-maven-plugin
時遇到了其他困難。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.