zoukankan      html  css  js  c++  java
  • 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_HOMEconf目录下的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>

  • 相关阅读:
    dubbo总结
    搞懂分布式技术28:微服务(Microservice)那点事
    搞懂分布式技术21:浅谈分布式消息技术 Kafka
    搞懂分布式技术20:消息队列因何而生
    搞懂分布式技术19:使用RocketMQ事务消息解决分布式事务
    搞懂分布式技术17,18:分布式事务总结
    热敏电阻
    eagle学习汇总
    CSS浮动通俗讲解
    总结一下CSS定位
  • 原文地址:https://www.cnblogs.com/javabianhua/p/11884714.html
Copyright © 2011-2022 走看看