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

通过Jenkins构建并部署一个Maven项目到Nexus

华景明
2023-03-14

我配置了一个简单的maven freestyle项目。我能够成功构建该项目,但无法部署到Nexus。我得到这个错误:

[错误]无法执行目标org.apache.maven.plugins:maven部署插件:2.8.1:部署(默认部署)项目eqs_utility:部署工件失败:找不到工件com.companyName.eqs:eqs_utility:jar:1.0.1-20190529.191240-1在nexus(https://nexus.companyRepo.com/repository/maven-snapshot/)-

我已经试图改变配置来简化项目,但仍然没有。Setting.xml更改。

编辑 我在我的POM中添加了以下内容.xml

    <distributionManagement>
        <repository>
            <uniqueVersion>false</uniqueVersion>
            <id>nexus</id>
            <name>Company Nexus Repository</name>
            <url>https://nexus.mycompany.com/repository/maven-release/</url>
            </repository>    
        <snapshotRepository>
            <uniqueVersion>true</uniqueVersion>
            <id>nexus</id>
            <name>Company Nexus Snapshots</name>
            <url>https://nexus.companyName.com/repository/maven-snapshot/</url>
        </snapshotRepository>
    </distributionManagement>

然后,更新了我的设置.xml

<server>
      <id>nexus</id>
      <filePermissions>664</filePermissions>
      <directoryPermissions>775</directoryPermissions>
    </server>


    <!-- Another sample, using keys to authenticate. -->
    <server>
      <id>nexus</id>
      <username>NexusUser</username>
      <password>MyLongTokenValueHere</password>
    </server>

共有1个答案

谷梁俊楚
2023-03-14

根据Apache Maven部署插件设置

你需要一个部分:

  <distributionManagement>
    <repository>
      <id>internal.repo</id>
      <name>MyCo Internal Repository</name>
      <url>Host to Company Repository</url>
    </repository>
  </distributionManagement>

当您使用nexus时,您可能需要pom中的一个部分来与您的nexus存储库保持一致(一个用于快照,一个用于发布工件,因为您不能在Nexus中将它们组合在一起):

<distributionManagement>
   <repository>
      <id>mavenrepository</id>
      <url>http://mavenrepository.companyName.com/nexus/content/repositories/m3</url>
   </repository>
   <snapshotRepository>
      <id>tmavenrepository</id>
      <url>http://mavenrepository.companyName.com/nexus/content/repositories/m3-snapshots</url>
   </snapshotRepository>
</distributionManagement>

当然,还可以在您的本地设置或其他私人位置

    <server>
      <id>mavenrepository</id>
      <username>maven</username>
      <password>foobar</password>
    </server>

这是由Sonatype和其他人描述的清洁剂。

 类似资料:
  • 我有一个Maven3项目。有两个主要的EJB模块,比如说A和B,还有一个超级POM。当前的构建过程生成一个。zip文件,它由两个。ear文件组成,即a.ear和b.ear文件。然后将此ZIP文件夹手动部署到WebSphere。我们使用的是WAS8.0。有多个配置文件,如test、dev、local。我们提到mvn中的配置文件名(使用-p),我们希望为其生成一个构建。 现在,我们的构建和部署过程应该

  • 我是Maven和Jenkins的新手,所以请耐心等待我... 我有一个Maven项目,当我从项目文件夹中运行mvn install时,它可以正确构建,但是当我尝试通过Jenkins构建时,根本无法解决任何依赖项。我是否在我的 Maven 或 Jenkins 设置中遗漏了某些内容/搞砸了某些内容? 项目POM和. m2/settings.xml如下... pom.xml .m2/设置.xml

  • 我有一个Jenkins的工作,它为master git分支使用maven构建目标“干净包部署”。但是,由于nexus repo不允许重新部署,如果Jenkins作业在没有版本更改的情况下第二次运行,它将失败并出现预期的400错误: 有人能提出一种不同的策略吗?这样,部署目标就可以运行,而不会让Jenkins的工作失败?

  • 我使用命令将我的jar文件部署到nexus服务器,它适用于常规jar。但如果jar由打包,它就不起作用。jar文件的标头是一个linux系统服务脚本,将被nexus拒绝。 以下是我的spring boot插件设置: 如何使nexus接受spring boot可执行jar文件?

  • 我已经为一个项目配置了SVN-Jenkins-Maven-Tomcat。小项目的每件事都很好。但当我试图构建包含大量JAR和包的实际项目时…它显示错误..找不到xxx包。我已经手动将依赖项JAR添加到本地maven存储库中。

  • null 我已经在“Manage Jenkins”-->“Configure System”下配置了Maven设置。 当我在“预步骤”部分创建“调用顶级Maven目标”步骤时,所有工作都按照预期进行。在“目标”行中,我可以指定“-x”、“clean install”等,并且maven通过打印这些目标,例如: [DEBUG]正在从.../settings.xml读取全局设置 [DEBUG]正在使用.