当前位置: 首页 > 面试题库 >

Jenkins Maven将jar部署到关系-工件命名

蓬祺
2023-03-14
问题内容

我的java / maven项目“ testproject”与我的jenkins和nexus回购挂钩:

我的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. jenkins为何将testproject- 0.1-20120509.161644-74 .jar 上传到Nexus?20120509.161644-74产品从哪里来?

  2. 如果时间戳 20120509.161644-74 是jenkins在上传之前生成的,我可以配置它的格式吗?我想要类似testproject-01-$ {timestamp}-$ {reversionId} .jar的文件


问题答案:

该行家部署插件页面告诉“默认情况下,当一个工件的快照版本部署到仓库,时间戳作为后缀为”。因此,它是由插件在您调用时创建的mvn deploy

我不知道您想要的2)是否可行。我认为这可能会给行家带来麻烦。

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



 类似资料:
  • 我的名为“TestProject”的Java/Maven项目与我的jenkins and nexus repo挂钩: 我的pom.xml看起来是: 正如预期的那样,jenkins将工件上传到Nexus,看看jenkins build的控制台输出,如下所示: 问题是: 如果我在pom.xml中指定的版本是

  • 我正在尝试在Heroku上部署一个可执行的Spring Bootjar。 我已经告诉Heroku从只包含以下文件的github存储库进行部署: 我的如下所示: 如果我查看github中的构建包项目,我可以看到有一个名为的脚本,它检查是否存在文件: https://github.com/heroku/heroku-buildpack-java/blob/master/bin/detect 我相信我的

  • 我是Java EE新手。我使用Eclipse、jBoss/WildFly和Maven。我有一个多模块Maven项目: 父Maven项目(pom) 目前,EJB项目打包在Web应用程序中,整个解决方案部署为一个文件。 我想更改它:我需要将war和jar项目独立地部署到应用服务器(作为两个独立的应用程序)。然后web项目可以通过远程接口访问EJB。 问题是: 我可以使用在Eclipse中部署项目 如何

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

  • 问题内容: 我正在将SourceForge用于某些开放源代码项目,并且希望将发布的部署自动部署到SourceForge文件发布系统。我使用Maven进行构建,除非您进行一些手动准备工作,否则标准的SFTP部署机制似乎无法正常工作。我在其他论坛上遇到过一些老帖子,建议唯一的方法是专门为SourceForge编写Wagon。 最近有人对此有经验吗? 问题答案: 我无法通过测试来确认,但我相信无需编写任

  • 我有一个pom.xml文件,这里有一些第三方jar依赖项和一些项目相关的jar。我只需要将第三方jar部署到artifactory中,而不是所有的jar。