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

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分发构件的位置,如下:

    
  ...    
      
        
      nexus-releases    
      Nexus Release Repository    
      http://127.0.0.1:8080/nexus/content/repositories/releases/    
        
        
      nexus-snapshots    
      Nexus Snapshot Repository    
      http://127.0.0.1:8080/nexus/content/repositories/snapshots/    
        
      
  ...    
 

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

    
  ...    
      
        
      nexus-releases    
      admin    
      admin123    
        
        
      nexus-snapshots    
      admin    
      admin123    
          
      
  ...    

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

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

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


        com.it.bigdata
        hbase-core-adapter
        1.0.0

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


        
        java.net
        Sonatype Nexus Releases
        https://10.90.11.11/content/repositories/release/
        

你可能感兴趣的:(Maven deploy 打包到远程仓库以及从远程仓库下载jar包)