Liunx下Maven私服的搭建

一、准备工作

 系统:LINUX

          JDK:已安装(未安装详见jdk安装教程:http://www.cnblogs.com/muzi1994/p/5818099.html)

          Maven:已安装(未安装详见maven安装教程:http://www.cnblogs.com/muzi1994/p/6030181.html)

          Nexus:http://www.sonatype.org/nexus/go

                     所有版本下载地址:http://www.sonatype.org/nexus/archived/

          Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。

二、安装Nexus

1.解压nexus文件

1

[root@centos6 var]# tar -zvxf nexus-2.12.0-01-bundle.tar.gz

 

      注:解压后有两个文件夹:

                  nexus-2.12.0-01:是nexus的核心文件

                  sonatype-work :maven下载jar存放地址

2.启动Nexus

1

2

3

4

5

6

[root@centos6 nexus-2.12.0-01]# ./bin/nexus start

 

- ****************************************

WARNING - NOT RECOMMENDED TO RUN AS ROOT

****************************************

If you insist running as root, then set the environment variable RUN_AS_USER=root before running this script.

默认情况下,不建议以root用户运行Nexus,可以修改bin/nexus中的配置跳过警告(修改RUN_AS_USER=root)

1

[root@centos6 nexus-2.12.0-01]# vi bin/nexus

 

     重新启动Nexus

1

2

3

4

5

6

7

[root@centos6 nexus-2.12.0-01]# ./bin/nexus start

 

- ****************************************

WARNING - NOT RECOMMENDED TO RUN AS ROOT

****************************************

Starting Nexus OSS...

Started Nexus OSS.

注:Nexus默认端口8081,如果想修改端口。修改/conf/nexus.properties文件

      

      访问网址:http://192.168.1.11:8081/nexus/#welcome

      

      点击右上角的 Log In 按钮即可登陆了。默认登录账号/密码为:admin/admin123 ,登陆成功后的界面

      

点击Repositories,将列表中所有Type为proxy 的项目的 Configuration 中的 Download Remote Indexes设置为True

      

     将Releases仓库的Deployment Policy设置为 Allow ReDeploy

      

      当然我们也避免不了会使用到一些第三方的 jar ,而这些jar包也不存在于互联网上的maven中央仓库中,这时我们可以手工添加jar 到我们的私服中。

      添加第三方 jar 如下:

      

      填写完必选字段,点击Upload Artifact(s)按钮即可。

3.配置本地项目引用私服

   自动发布构件到远程仓库,在工程pom.xml中添加

1

2

3

4

5

6

7

8

9

10

<distributionManagement>

    <repository>

        <id>releases</id><!--这个ID需要与你的release仓库的Repository ID一致-->

        <url>http://192.168.1.11:8081/nexus/content/repositories/releases</url>

    </repository>

    <snapshotRepository>

        <id>snapshots</id><!--这个ID需要与你的snapshots仓库的Repository ID一致-->

        <url>http://192.168.1.11:8081/nexus/content/repositories/snapshots</url>

    </snapshotRepository>

</distributionManagement>

修改本地$MAVEN_HOME\conf目录下的settings.xml配置文件,添加如下配置

1

2

3

4

5

6

7

8

9

10

11

12

<servers>

    <server>

        <id>releases</id>

        <username>admin</username>

        <password>admin123</password>

    </server>

    <server>

        <id>snapshots</id>

        <username>admin</username>

        <password>admin123</password>

    </server>

</servers>

在本地工程目录下执行:

1

mvn deploy

所部署的包就自动上传到了nexus安装目录下的

      

4.配置Maven从Nexus下载构件

在POM中配置Nexus私服,这样的配置只对当前的Maven项目有效。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

<!--指定Nexus的构件仓库-->

<repositories>

    <repository>

        <id>public</id>

        <name>Team Maven Repository</name>

        <url>http://192.168.1.11:8081/nexus/content/groups/public/</url>

        <releases>

            <enabled>true</enabled>

        </releases>

        <snapshots>

            <enabled>true</enabled>

        </snapshots>

    </repository>

</repositories>

 

<!--指定Nexus的插件仓库-->

<pluginRepositories>

    <pluginRepository>

        <id>public</id>

        <name>Team Maven Repository</name>

        <url>http://192.168.1.11:8081/nexus/content/groups/public/</url>

        <releases>

            <enabled>true</enabled>

        </releases>

        <snapshots>

            <enabled>true</enabled>

        </snapshots>

    </pluginRepository>

</pluginRepositories>

在settings.xml中配置profile元素,这样就能让本机所有的Maven项目都使用自己的Maven私服。

1

2

3

4

5

6

7

8

9

10

11

12

13

<properties>

        <repository>

            <id>public</id>

            <name>Team Maven Repository</name>

            <url>http://192.168.1.11:8081/nexus/content/groups/public/</url>

            <releases>

                <enabled>true</enabled>

            </releases>

            <layout>default</layout>

            <snapshots>

                <enabled>true</enabled>

            </snapshots>

        </repository><br></properties>

 

posted @ 2019-11-18 20:08  java彼岸花  阅读(299)  评论(0编辑  收藏  举报
/* 鼠标点击求赞文字特效 */ /*鼠标跟随效果*/