亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • 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

万山特区| 广宁县| 日喀则市| 莱西市| 台南市| 凌源市| 大渡口区| 浙江省| 灵宝市| 巨鹿县| 铜川市| 北海市| 墨江| 连平县| 吐鲁番市| 闽侯县| 即墨市| 德格县| 兰州市| 宜昌市| 南阳市| 彭山县| 吉木乃县| 沈阳市| 土默特左旗| 宿州市| 赣州市| 吉安市| 来安县| 大石桥市| 营口市| 尉犁县| 思茅市| 烟台市| 读书| 垫江县| 苏尼特左旗| 马鞍山市| 连山| 宣城市| 汉川市|