美文网首页
Maven deploy 打包到远程仓库以及从远程仓库下载jar

Maven deploy 打包到远程仓库以及从远程仓库下载jar

作者: xhh199090 | 来源:发表于2021-04-23 11:13 被阅读0次

1、Maven deploy 打包到远程仓库

mvn deploy 用来将项目工程生成的构件分发到远程Maven仓库。例如:

mvn deploy:deploy-file -DgroupId=com.my -DartifactId=test -Dversion=1.0-SNAPSHOT -Dpackaging=jar -Dfile=E:\test.jar -Durl=http://maven.my.com/repository/maven-snapshots/ -DrepositoryId=snapshots

DrepositoryId服务器的表示id,在nexus的configuration可以看到。

我们需要在项目的POM文件中配置distributionManagement来指定Maven分发构件的位置,如下:

<project>    
  ...    
  <distributionManagement>    
    <repository>    
      <id>nexus-releases</id>    
      <name>Nexus Release Repository</name>    
      <url>http://127.0.0.1:8080/nexus/content/repositories/releases/</url>    
    </repository>    
    <snapshotRepository>    
      <id>nexus-snapshots</id>    
      <name>Nexus Snapshot Repository</name>    
      <url>http://127.0.0.1:8080/nexus/content/repositories/snapshots/</url>    
    </snapshotRepository>    
  </distributionManagement>    
  ...    
</project> 

Maven区别对待release版本的构件和snapshot版本的构件,snapshot为开发过程中的版本,不稳定,release版本则比较稳定。Maven会根据你项目的版本来判断将构件分发到哪个仓库。
一般来说,分发构件到远程仓库需要认证,如果你没有配置任何认证信息,你往往会得到401错误。这个时候需要在本地maven的settings.xml中配置认证信息:

<settings>    
  ...    
  <servers>    
    <server>    
      <id>nexus-releases</id>    
      <username>admin</username>    
      <password>admin123</password>    
    </server>    
    <server>    
      <id>nexus-snapshots</id>    
      <username>admin</username>    
      <password>admin123</password>    
    </server>      
  </servers>    
  ...    
</settings>

需要注意的是,settings.xml中server元素下id的值必须与POM中repository或snapshotRepository下id的值完全一致。

2、项目工程从远程仓库下载引用依赖jar包

pom.xml文件引用了一个不存在中央仓库的自定义开发jar包
在pom.xml文件中添加如下声明:

<dependency>
        <groupId>com.it.bigdata</groupId>
        <artifactId>hbase-core-adapter</artifactId>
        <version>1.0.0</version>
</dependency>

如果报错,在本地资源库没有找到,在中央资源库也没找到,需要声明远程私服仓库,到远程仓库去查找依赖

<repositories>
    <repository>    
        <id>java.net</id>
        <name>Sonatype Nexus Releases</name>
        <url>https://10.90.11.11/content/repositories/release/</url>
    </repository>    
</repositories>

相关文章

网友评论

      本文标题:Maven deploy 打包到远程仓库以及从远程仓库下载jar

      本文链接:https://www.haomeiwen.com/subject/ozhcrltx.html