[英]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.