91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • Springboot如何整合maven插口調用maven?release?plugin實現一鍵打包功能

Springboot如何整合maven插口調用maven?release?plugin實現一鍵打包功能

發布時間:2022-03-15 12:54:02 來源:億速云 閱讀:180 作者:小新 欄目:開發技術

小編給大家分享一下Springboot如何整合maven插口調用maven release plugin實現一鍵打包功能,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

maven release plugin配置

整合maven-invoker使程序去執行mvn命令

1.導包

<dependency>
  <groupId>org.apache.maven.shared</groupId>
  <artifactId>maven-invoker</artifactId>
  <version>3.1.0</version>
</dependency>

注意maven-invoker版本。版本過低可能導致不兼容。

2.測試程序

public class MavenTest {
    //直接執行mvn release:prepare -X 為交互式執行,無法在程序進行時輸入版本參數。
    //而執行mvn -B release:prepare -X 則可以通過程序直接執行。但是若要自定義版本信息則需要配置pom release plugin的參數,或采用如下命令
    //實際執行的mvn命令.
    //mvn -B release:prepare -X -Dtag=VersionControlDemo-"0.4.0" -DreleaseVersion="0.4.0" -DdevelopmentVersion="0.4.1-SNAPSHOT"
    //mvn release:perform -X
    public static void main(String[] args) throws MavenInvocationException {
        InvocationRequest request = new DefaultInvocationRequest();
        //獲取pom文件地址
        String relativelyPath=System.getProperty("user.dir");
        String pomPath = relativelyPath+"/pom.xml";
        System.out.println(pomPath);
        request.setPomFile(new File(pomPath));
        Invoker invoker = new DefaultInvoker();
        //獲取maven環境變量地址
        String m2Path = System.getenv("MAVEN_HOME");
        System.out.println("m2Path:"+m2Path);
        invoker.setMavenHome(new File(m2Path));
        try {
            //該版本tag信息
            String tag = "VersiongControlDemo-0.4.0";
            //此次發布的版本號
            String version = "0.4.0";
            //下一次版本的快照版本號
            String developmentVersion="0.4.1-SNAPSHOT";

            List<String> goals = new ArrayList<>();
            goals.add("-B");
            goals.add("release:prepare");
            goals.add("-X");
            goals.add("-Dtag=" + tag);
            goals.add("-DreleaseVersion=" + version);
            goals.add("-DdevelopmentVersion=" + developmentVersion);
            request.setGoals(goals);
            System.out.println("開始: " + request.getGoals());
            invoker.execute(request);
            request.setGoals(Collections.singletonList("release:perform -X"));
            System.out.println("開始:  " + request.getGoals());
            invoker.execute(request);
        } catch (MavenInvocationException e) {
            e.printStackTrace();
            return;
        }
    }
}

運行測試demo。結果成功。(每次運行前都要注意版本參數,切勿沖突。)

Springboot如何整合maven插口調用maven?release?plugin實現一鍵打包功能

同理可配置release:rollback等相關回滾命令。

看完了這篇文章,相信你對“Springboot如何整合maven插口調用maven release plugin實現一鍵打包功能”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

陈巴尔虎旗| 勃利县| 保德县| 江安县| 思南县| 北流市| 吉首市| 内丘县| 沙湾县| 武穴市| 青阳县| 威信县| 南昌市| 渝北区| 崇文区| 泰州市| 乐业县| 山西省| 滕州市| 宜阳县| 稻城县| 昌宁县| 平泉县| 江山市| 武平县| 安达市| 富川| 呼图壁县| 临城县| 嘉义县| 正宁县| 公安县| 南昌市| 东丽区| 贺州市| 大同县| 茶陵县| 黑龙江省| 历史| 卢氏县| 酒泉市|