簡體   English   中英

Maven 非交互模式(批量)防止項目擴展加載

[英]Maven non-interactive mode (batch) prevent's project extensions loading

我正在嘗試在 Jenkins 下的 Maven 項目中使用 Takari SmartBuilder。在本地測試后一切正常,但在 Jenkins 中未加載 Takari 擴展。

經過一番調查后,我發現 Maven 的“-B”選項順序阻止了項目擴展的加載。

不加載擴展:

mvn -B -f <project-name>/pom.xml clean install -X

加載擴展:

mvn -f <project-name>/pom.xml -B clean install -X

擴展設置在根項目文件夾下.mvn/extensions.xml

<?xml version="1.0" encoding="UTF-8"?>
<extensions>
  <extension>
    <groupId>io.takari.maven</groupId>
    <artifactId>takari-smart-builder</artifactId>
    <version>0.4.0</version>
  </extension>
  <extension>
    <groupId>io.takari.aether</groupId>
    <artifactId>takari-concurrent-localrepo</artifactId>
     <version>0.0.7</version>
  </extension>
  <extension>
    <groupId>io.takari.aether</groupId>
    <artifactId>aether-connector-okhttp</artifactId>
    <version>1.0.1-alpha</version>
  </extension>
</extensions>

版本:

Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T16:41:47+00:00)
Maven home: /opt/maven-versions/apache-maven-3.3.9
Java version: 1.7.0_65, vendor: Oracle Corporation
Java home: /opt/java-versions/jdk1.7.0_65/jre
Default locale: en_GB, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-327.13.1.el7.x86_64", arch: "amd64", family: "unix"

我相信我面臨着類似的問題。 https://issues.jenkins.io/browse/JENKINS-70357

似乎 Jenkins Maven Integration Plugin 正在無條件地注入 -B 參數。

但是,無論是否啟用交互模式,擴展都成功加載(盡管是從 lib/ext),這證明交互模式不以任何方式控制擴展。

此外,使用 MavenJob 提供了一些實質性優勢,例如觸發下游構建等,這些優勢不能與 FreeStyleJob 一起使用,從而使某些開發環境必須使用 MavenJob。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM