Maven私服搭建与项目应用

敬请关注博客,后期不断更新优质博文,谢谢

一、Maven私服搭建步骤

参考博文:

安装nexus步骤

https://blog.csdn.net/yuan_xw/article/details/60376651

https://blog.csdn.net/u010539352/article/details/51722199

deploy命令

https://blog.csdn.net/roy_70/article/details/75267831

上传jar过程报400错误解决:(version版本号,去除snapshoot)

https://blog.csdn.net/running_snail_/article/details/19821777

Linux环境安装Nexus

 

Linux环境安装Nexus

Nexus可以做Maven私服,私服不是Maven的核心概念,它仅仅是一种衍生出来的特殊的Maven仓库。有三种专门的Maven仓库管理软件可以用来帮助大家建立私服:

Apache基金会的ArchivaJFrogArtifacotorySonatypeNexus,Archiva是开源的,ArtifacotoryNexus的核心也是开源的。

如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载和浪费了外网带宽,如果网速慢的话,还会影响项目的进程。很多情况下项目的开发都是在内网进行的,连接不到maven仓库怎么办呢?开发的公共构件怎么让其它项目使用?这个时候我们不得不为自己的团队搭建属于自己的maven私服,这样既节省了网络带宽也会加速项目搭建的进程,当然前提条件就是你的私服中拥有项目所需的所有构件。

 

1.1 下载nexus软件

下载nexus安装包之后解压进入nexus目录:

创建文件夹:mkdir -p /usr/local/software/nexus

切换目录:cd /usr/local/software/nexus

wget "https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.14.3-02-bundle.tar.gz"

tar xfvz nexus-2.14.3-02-bundle.tar.gz

cd nexus-2.14.3-02-bundle

 

     解压之后就会看到两个目录:

         nexus-2.11.4-01:里面是nexus的运行环境和应用程序。

sonatype-work:里面是我们后面要对nexus进行一些配置的地方,像索引和起始的仓库和端口等都可以在这里面配置。

 

1.2 启动nexus

1、配置环境变量

执行命令:

export RUN_AS_USER=root

export JAVA_HOME=/usr/local/software/jdk1.8.0_66

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=.:$JAVA_HOME/bin:$RUN_AS_USER:$PATH

刷新环境变量:source /etc/profile

 

2、启动nexus

执行命令:

cd /usr/local/software/nexus

nexus-2.14.3-02/bin/nexus start

查看日志:tail -100f/usr/local/software/nexus/nexus-2.14.3-02/logs/wrapper.log

 

1.3 nexus管理界面

1、访问页面:192.168.1.131:8081/nexus

可以看如下界面:

Maven私服搭建与项目应用_第1张图片

 

注意:nexus的默认端口是8081,后面可以修改。

用默认账户和密码登录

账户:admin

密码:admin123

 

2、界面管理

3rd partySnapshotsReleases这三个,分别用来保存第三方jar、项目组内部的快照、项目组内部的发布版。

Maven私服搭建与项目应用_第2张图片

 

3、中央仓库自动更新索引

Maven私服搭建与项目应用_第3张图片

 

4、将第三方jar上传到nexus

Maven私服搭建与项目应用_第4张图片

 

5、上传之后搜索

Maven私服搭建与项目应用_第5张图片

这样基本maven私服就搭建完成了,并且上传了自己的jar包。

私服Nexus搭建完毕之后,由于网络原因,有时候会出现索引更新不了的问题,这里给出一种离线更新索引的方式。 

二、下载索引(采用在线下载)

下载索引

nexus索引好比目录,只要我们更新好索引,就可以在nexus系统中去查找,下载我们需要的jar包,并且对应的groupId,artifactId,version都可以方便的查到。如图:

Maven私服搭建与项目应用_第6张图片

 

刚刚搭建的nexus,索引会是空的,所以需要我们去下载索引。

 

下载索引有两种方式

第一种:在线下载索引。把Centra仓库,点击仓库下面的configuration下把DownloadRemote Indexes修改为true。如下图:

Maven私服搭建与项目应用_第7张图片

 

然后在Central仓库上右击,选择Pepari Index,这样Nexus就会去下载索引文件。

第二种:离线下载索引。

由于索引文件很大,在线下载会很漫长,所以采用离线下载会很快。从网上找到一个nexus索引仓库包下载下来,如图:

下载完成以后解压,把文件夹中的东西拷贝到sonatype-work/nexus/indexer/central-ctx下面:

Maven私服搭建与项目应用_第8张图片

 

重新启动一下nexus。

能够很快的把索引下载过来。如图:

Maven私服搭建与项目应用_第9张图片

如果中间添加了新的jar包想更新索引,点中右击update index就行了。如图:

Maven私服搭建与项目应用_第10张图片

 

三、项目中配置Nexus仓库

mavensetting.xml文件配置(本地Maven仓库中的配置文件)

 

          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> 

 

 

  E:\Maven\MavenRepository 

 

     

     

         

            releases 

            admin 

            admin123 

         

         

            snapshots 

            admin 

            admin123 

         

     

 

     

     

         

            nexus 

            * 

            Local Repository 

              http://10.100.1.145:8081/nexus/content/groups/public 

         

       

     

     

         

            central 

             

                 

                    central 

                    Central 

                     

                    http://* 

                    true 

                    true 

                 

             

             

                 

                    central 

                    local private nexus 

    http://10.100.1.145:8081/nexus/content/groups/public 

                    true 

                    true 

                 

             

         

     

 

     

     

        central 

     

 

 

项目中pom.xml配置 

 


   
      elastic-lucene-snapshots
      Elastic Lucene Snapshots
      http://s3.amazonaws.com/download.elasticsearch.org/lucenesnapshots/00142c9
      true
      false
   

    
      releases
      Nexus Release Repository
      http://10.100.1.145:8081/nexus/content/repositories/releases/
   

    
      snapshots
      Nexus Snapshot Repository
      http://10.100.1.145:8081/nexus/content/repositories/snapshots/
   

    
      thirdparty
      Nexus Thirdparty Repository
      http://10.100.1.145:8081/nexus/content/repositories/thirdparty/
   


 
    
      releases
      Nexus Release Repository
      http://10.100.1.145:8081/nexus/content/repositories/releases/
   

    
      snapshots
      Nexus Snapshot Repository
      http://10.100.1.145:8081/nexus/content/repositories/snapshots/
   
 

 四、上传jar包

1、java项目自动上传:

自动将pom中所有依赖包下载并上传到Maven私服中

在terminate窗口执行命令:mvn deploy;

 

 

2、使用deploy命令上传:

mvn deploy:deploy-file -Dmaven.test.skip=true -Dfile=E:\scmd-questionnaire\target\scmd-questionnaire-1.0.jar -DgroupId=scmd-questionnaire -DartifactId=scmd-questionnaire -Dversion=1.0 -Dpackaging=jar -DrepositoryId=releases -Durl=http://10.100.1.145:8081/nexus/content/repositories/releases/

 

// 上传到release中注意版本号不能加snapshoot

欢迎加入Java猿社区
 

Maven私服搭建与项目应用_第11张图片

你可能感兴趣的:(java,Nexus,Maven)