当前位置: 首页 > 知识库问答 >
问题:

Jenkins maven将jar部署到nexus-工件命名

常鸿朗
2023-03-14

我的名为“TestProject”的Java/Maven项目与我的jenkins and nexus repo挂钩:

我的pom.xml看起来是:

....    
<distributionManagement>
    <!-- use the following if you're not using a snapshot version. -->
    <repository>
        <id>nexus</id>
        <name>RepositoryProxy</name>
        <url>http://nexus:8080/nexus/content/repositories/releases</url>
    </repository>
    <!-- use the following if you ARE using a snapshot version. -->
    <snapshotRepository>
        <id>nexus</id>
        <name>RepositoryProxy</name>
        <url>http://nexus:8080/nexus/content/repositories/snapshots</url>
    </snapshotRepository>
</distributionManagement>
......
Build - maven3 - clean deploy

正如预期的那样,jenkins将工件上传到Nexus,看看jenkins build的控制台输出,如下所示:

[INFO] --- maven-jar-plugin:2.3.1:jar (default-jar) @ testproject ---
[INFO] Building jar: /var/lib/jenkins/workspace/testproject/target/testproject-0.1-SNAPSHOT.jar
[INFO] 
[INFO] --- maven-install-plugin:2.3.1:install (default-install) @ testproject ---
[INFO] Installing /var/lib/jenkins/workspace/testproject/target/testproject-0.1-SNAPSHOT.jar to /var/lib/jenkins/.m2/repository/com/dummy/testproject/0.1-SNAPSHOT/testproject-0.1-   SNAPSHOT.jar
[INFO] Installing /var/lib/jenkins/workspace/testproject/pom.xml to /var/lib/jenkins/.m2/repository/com/dummy/testproject/0.1-SNAPSHOT/testproject-0.1-SNAPSHOT.pom
[INFO] 
[INFO] --- maven-deploy-plugin:2.5:deploy (default-deploy) @ testproject ---
Downloading: http://nexus:8080/nexus/content/repositories/snapshots/com/dummy/testproject/0.1-SNAPSHOT/maven-metadata.xml
Downloaded: http://nexus:8080/nexus/content/repositories/snapshots/com/dummy/testproject/0.1-SNAPSHOT/maven-metadata.xml (1012 B at 28.2 KB/sec)
Uploading: http://nexus:8080/nexus/content/repositories/snapshots/com/dummy/testproject/0.1-SNAPSHOT/testproject-0.1-20120509.161644-74.jar
Uploaded: http://nexus:8080/nexus/content/repositories/snapshots/com/dummy/testproject/0.1-SNAPSHOT/testproject-0.1-20120509.161644-74.jar (47 KB at 748.5 KB/sec)
Uploading: http://nexus:8080/nexus/content/repositories/snapshots/com/dummy/testproject/0.1-SNAPSHOT/testproject-0.1-20120509.161644-74.pom
Uploaded: http://nexus:8080/nexus/content/repositories/snapshots/com/dummy/testproject/0.1-SNAPSHOT/testproject-0.1-20120509.161644-74.pom (6 KB at 149.3 KB/sec)

问题是:

如果我在pom.xml中指定的版本是

<version>0.1-SNAPSHOT</version>

共有1个答案

梁修贤
2023-03-14

maven deploy plugin页面告诉我们,“默认情况下,当一个工件的快照版本部署到存储库中时,它的后缀是一个时间戳”。因此,它是由插件在调用mvn deploy时创建的。

我不知道你想要的2)是否可能,我想这可能会给Maven带来一些麻烦。

当您将maven用于快照依赖项时,时间戳用于检查快照的最新版本。更改快照的格式可能会导致此机制失败。

 类似资料:
  • 问题内容: 我的java / maven项目“ testproject”与我的jenkins和nexus回购挂钩: 我的pom.xml看起来像: 在我的詹金斯设置中,我有: 正如预期的那样,jenkins将工件上传到Nexus。查看jenkins build的控制台输出,如下所示: 问题是 : 鉴于我在pom.xml中指定的版本是 jenkins为何将testproject- 0.1-201205

  • 主要内容:使用 Maven 部署构件到 Nexus ,手动上传构件如果仅仅是为了代理远程的公共仓库,那么 Nexus 的代理仓库就完全能够满足需要,但是我们知道,Nexus 除了代理仓库外,还有另一种仓库:宿主仓库。 宿主仓库的主要作用是存储公司或组织内部的构件,以及一些无法从公共仓库获取的第三方构件(JDBC 驱动),供用户下载使用。用户可以通过配置 Maven 将构件自动部署到 Nexus 宿主仓库,也可以在 Nexus 界面手动上传构件。 使用 Maven

  • 我使用的是Nexus Repository Manager V3.1.0-04。当我尝试一个jar工件到我的存储库时,我遇到了以下问题。 我认为这可能与(链接)的版本有关,但即使我将版本设置为(最新),也会得到相同的效果。这篇文章建议使用,因此我修改了我的如下。 然而,我现在看到了一个不同的问题。 [错误]无法在项目上执行目标org.codehaus.mojo:build-helper-maven

  • 我试图将工件部署到nexus。当我尝试使用本地机器时,它工作正常。但是当我尝试在另一台机器中使用nexus时,它会抛出错误。 我已经配置了

  • 问题内容: 我有一个在Jenkins中运行的多模块Maven项目。我想将最终的工件(程序集构建中的RPM)部署到Nexus服务器。我认为没有理由部署中间工件(因此没有“ mvn clean deploy”),因为这会在服务器上产生我不需要的额外垃圾。我们正在尝试建立一个持续交付管道,因此我们从未部署过SNAPSHOT版本。Jenkins的各种插件似乎都专注于部署所有工件。我该如何部署自己选择的那个

  • 我更喜欢在Maven中执行此操作,因为我们的Nexus设置和凭据已经在环境中,不需要在命令行上手动传递。为此使用Nexus UI不是一个可行的选择,因为这需要成为标准构建-部署-测试过程的一部分,对于几十个应用程序来说,这可能每天都会发生很多次。