【问题标题】:Jenkins build failure due to use of custom jars in maven project由于在 Maven 项目中使用自定义 jar,Jenkins 构建失败
【发布时间】:2020-03-11 06:32:39
【问题描述】:

我在 jenkins 中构建我的 java maven 项目时遇到了麻烦。 在我的项目中,很少有像这样包含在 pom 中的自定义 jar

     <dependency>
        <groupId>SMSGatewayClient</groupId>
        <artifactId>SMSGatewayClient</artifactId>
        <scope>system</scope>
        <version>1.0</version>
        <systemPath>${basedir}\lib\SMSGatewayClient.jar</systemPath>
    </dependency>

但是詹金斯抛出异常

“找不到工件 SMSGatewayClient:SMSGatewayClient:jar:1.0 at 指定路径 /var/lib/jenkins/workspace/DEV-metal-auc/MetalBusiness_mvn\lib\SMSGatewayClient.jar"

然后构建停止。

如何使用该自定义 jar 以使 jenkins 成功构建?

【问题讨论】:

    标签: jenkins


    【解决方案1】:

    您是否尝试过在路径中使用“/”路径分隔符(或 ${file.separator})?

    您的错误显示混合,/var/lib/ 表明您使用的是 unix。

    假设${basedir} 正确解析。

    您还可以使用相对表示法 (../),如果在您的工作区中,这可能是首选。您不妨回顾一下Maven complaining about parent relative pathMaven: add a dependency to a jar by relative path

    在maven中,“${basedir}代表包含pom.xml的目录”,所以 &lt;relativePath&gt;./lib&lt;/relativePath&gt;。如果你必须向上和向下,../ 为每个级别向上,然后向下路径。

    【讨论】:

    • 请说明使用相对符号后上述路径应该是什么。
    • 添加注释。重点是使用/,而不是` in the pom.mxl, regaedless of path type.. `是Unix转义字符。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-18
    • 2015-09-27
    • 2016-10-30
    • 2019-10-10
    • 2018-06-29
    • 1970-01-01
    相关资源
    最近更新 更多