Jenkins上的mvn包出错

时间:2017-02-25 22:50:24

标签: java maven jenkins

我在Jenkins上打包maven模块时遇到问题。当我在本地打包模块时不会发生此问题。我有一个模块,为了这篇文章可以称为 moduleA 。我还有一个通用模块,其中包含 moduleA moduleB 使用的对象。此模块的名称是 common 。我在 moduleA pom.xml中有 common 的依赖项列表。该项目还包含从我们的私有nexus存储库中获取的依赖项。正在发生的问题是,当maven下载Jenkins的所有依赖项时,它正在寻找Nexus repo上的 common 。以下是一些相关信息。 有没有办法解决这个问题,除了将公共模块部署到Nexus 之外?

Maven Command

mvn -pl sub_module_name package -X -U --also-make-dependents

POM中的存储库

         <repository>
            <id>nexus-snapshots</id>
            <url>${our.nexus.instance}</url>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
            </releases>
            <snapshots>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
            </snapshots>
        </repository>
        <repository>
            <id>nexus-releases</id>
            <url>${our.nexus.instance}</url>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
            </releases>
        </repository>
        <repository>
            <id>central</id>
            <name>Maven Central Repository</name>
            <url>http://repo1.maven.org/maven2</url>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
            </releases>
            <snapshots>
                <enabled>false</enabled>
                <updatePolicy>never</updatePolicy>
            </snapshots>
        </repository>

Jenkins错误消息

    [ERROR] Failed to execute goal on project moduleA: Could not resolve 
dependencies for project my.artifact:moduleA:jar:1.0.01-
SNAPSHOT: Could not find artifact my.artifact:common:jar:1.0.01-
SNAPSHOT in nexus-snapshots 
({our.nexus.instance}) -> 
[Help 1]

    org.apache.maven.lifecycle.LifecycleExecutionException: Failed to 
execute goal on project moduleA: Could not resolve dependencies for project
 my.artifact:moduleA:jar:1.0.01-SNAPSHOT: Could not find 
artifact my.artifact:common:jar:1.0.01-SNAPSHOT in nexus-
snapshots ({our.nexus.instance})

1 个答案:

答案 0 :(得分:2)

我认为问题出在你的maven命令中。我建议您将命令更改为以下

enum

这可确保在打包moduleA之前安装公共模块。