maven 常用操作

一、使用docker搭建maven nexus私服

  1:下载镜像

docker pull sonatype/nexus3

  2:创建挂载目录并赋权限/var/lib/docker/volumes/nexus-data

chmod 777 nexus-data/

  3:启动容器

docker run -d -p 8081:8081 --name nexus -v /var/lib/docker/volumes/nexus-data:/nexus-data -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime --restart=unless-stopped sonatype/nexus3

  启动成功后查看日志可能存在Connect to sonatype-download.global.ssl.fastly.net:443异常

  处理方法:登录账号,打开【System】--》【Capabilities】,将【Outreach:Management】禁用即可。

  4:访问

    默认密码admin123或者存在/var/lib/docker/volumes/nexus-data/admin.password中

  5:创建仓库

    仓库类型有hosted(宿主仓库存放公司内部jar)、proxy(代理仓库)、group(组仓库包含hosted和proxy)

    我们需要创建一个代理仓库 http://maven.aliyun.com/nexus/content/groups/public/ 并加入到group中

  6:创建账号

    创建一个nexus的私服账号并赋予相应的权限

二、maven配置nexus镜像

  1:修改setting.xml文件


    
      maven-public
      username
      password
    
    
      snapshots
      username
      password
    
    
      releases
      username
      password
    


  
      id
      
        1.8
	true
      
      
	
          maven-public
          Nexus Public Repository
          http://ip:8081/repository/maven-public/
          
            true
          
          
            true
            always
          
        
        
          releases
          Repository for haite
          http://ip:8081/repository/releases/
        
        
          snapshots
          Repository for haite
          http://ip:8081/repository/snapshots/
        
      
      
        
        
          maven-public
          http://ip:8081/repository/maven-public/
          
            true
          
          
            true
           
        
      
  

  true用来启用仓库默认不启用snapshot版本

  2:上传jar到nexus时需在项目的pom文件中添加


        
            releases
            Nexus Release Repository
            http://ip:8081/repository/releases/
        
        
            snapshots
            Nexus Snapshot Repository
            http://ip:8081/repository/snapshots/
        

  项目中运行maven的deploy命令就可以上传jar到nexus

  注意:

    1:这里只有Snapshot的仓库上传成功,Release仓库并没有上传成功,这是因为版本号名称结尾有SNAPSHOT,默认以这个结尾是不会上传到Release仓库去的,去除就会上传到Release仓库且不会上传到快照仓库

    2:Release仓库默认不支持重复发布

    3:注意setting中server标签下的id要和pom文件中仓库配置的id相同,即指定上传到哪个仓库

三、maven常用命令

   1:上传jar

    可以通过nexus管理界面上传jar,但是只能上传到relesae仓库中

    也可以通过如下命令上传jar到nexus

mvn -X deploy:deploy-file -s settings.xml -Dmaven.test.skip=true -DgroupId=? -DartifactId=? -Dversion=? -Dpackaging=pom -Dfile=pom文件 -DpomFile=pom文件 -Durl=http://用户名:密码@ip:8081/repository/snapshots

mvn -X deploy:deploy-file -s settings.xml -Dmaven.test.skip=true -DgroupId=? -DartifactId=? -Dversion=? -Dpackaging=jar -Dfile=jar文件 -DpomFile=pom文件 -Durl=http://用户名:密码@ip:8081/repository/snapshots

mvn -X deploy:deploy-file -s settings.xml -Dmaven.test.skip=true -DgroupId=? -DartifactId=? -Dversion=? -Dpackaging=pom -Dfile=pom文件 -DpomFile=pom文件 -Durl=http://用户名:密码@ip:8081/repository/releases -DrepositoryId=releases

mvn -X deploy:deploy-file -s settings.xml -Dmaven.test.skip=true -DgroupId=? -DartifactId=? -Dversion=? -Dpackaging=jar -Dfile=jar文件 -DpomFile=pom文件 -Durl=http://用户名:密码@ip:8081/repository/releases -DrepositoryId=releases

  以上命令分别是上传pom或jar到snapshots(开发版本)和releases(稳定版本)

你可能感兴趣的:(maven,maven)