jenkins 怎么解决maven依赖

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jenkins 怎么解决maven依赖相关的知识,希望对你有一定的参考价值。

参考技术A 因为maven在下载某个jar的时候,会把依赖的jar也下载下来,所以产生了重复。你可以把某个dependy里面,排除掉重复的jar。 那些jar重复了, 可以双击pom.xml , 然后看 dependency hierarchy Tab里面 参考技术B 一种方法是,可以在B项目设置中配置构建触发器,在A项目完成后触发,这样每次只构建A项目即可 Build after other projects are built

使用 Jenkins 上快照依赖项的先前发布版本发布项目

【中文标题】使用 Jenkins 上快照依赖项的先前发布版本发布项目【英文标题】:Release project with previous release version of a snapshot dependency on Jenkins 【发布时间】:2017-11-17 13:46:23 【问题描述】:

我看到了一些类似的问题,但没有找到任何可行的解决方案。现在它已经找到解决它的一天。 那么问题来了。

我有一个项目,我想通过 Jenkins 工作发布 maven。但是这个项目有一个快照依赖。

<dependency>
    <groupId>com.domain</groupId>
    <artifactId>market</artifactId>
    <version>121b4-SNAPSHOT</version>
</dependency>

以下是我的项目信息:

    <groupId>com.domain.tools</groupId>
    <artifactId>cash</artifactId>
    <name>Cash Flow</name>
    <version>123b4-SNAPSHOT</version>

当我尝试使用以下命令手动发布项目时:

mvn release:clean release:prepare release:perform

我得到了解决依赖快照版本的提示,所以我只输入了之前发布的'market'版本 - 121b3,然后一切正常。

但是当我尝试设置 Jenkins 作业来发布项目时,问题是如何解决对 Jenkins 的快照依赖(因为我们在手动执行时会得到提示),因为 maven 发布插件不允许快照版本的依赖关系。

谁能告诉我

    在 Jenkins 中将快照版本替换为以前版本的依赖项是否可行? 如果可能,我们该怎么做?

提前致谢。

【问题讨论】:

你需要先释放包含依赖的项目,然后你可以释放另一个依赖它的项目... 有什么方法可以让我们自动化这个,因为如果我想发布项目的依赖之前发布的版本? 【参考方案1】:

您不能对版本中的“SNAPSHOT”一词有任何依赖。

你必须要么

1) 发布 123b4-SNAPSHOT,因此它位于 Jenkins 使用的共享存储库中

2) 拥有一个嵌入式存储库(其中您有一个添加到项目的迷你存储库)并将 123b4-SNAPSHOT 重命名为 123b4,请参阅here 以获取示例

 <repositories>
    <repository>
      <id>in-project</id>
      <name>In Project Repo</name>
      <url>file://$project.basedir/libs2</url>
    </repository>
  </repositories>

我推荐选项 1。

【讨论】:

以上是关于jenkins 怎么解决maven依赖的主要内容,如果未能解决你的问题,请参考以下文章

如何解决 Maven 中的循环依赖?

jenkins 怎么搭建maven

如何快速的解决Maven依赖冲突

Jenkins Maven 发布:替换快照依赖

由于未能构建依赖项的发布版本,Maven 发布构建在 Jenkins 中失败

Maven 与 Jenkins - 更新依赖项的父 pom 版本