文档章节

Linux 使用nexus搭建maven私服

muzi1994
 muzi1994
发布于 2017/01/10 14:43
字数 818
阅读 16
收藏 0

一、准备工作

     系统: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文件

[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

[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)

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

  

     重新启动Nexus

[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中添加

<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配置文件,添加如下配置

<servers>
    <server>
        <id>releases</id>
        <username>admin</username>
        <password>admin123</password>
    </server>
    <server>
        <id>snapshots</id>
        <username>admin</username>
        <password>admin123</password>
    </server>
</servers>

  在本地工程目录下执行:

mvn deploy

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

     

  4.配置Maven从Nexus下载构件

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

<!--指定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私服。

<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>
</properties>

Docker安装Nexus

echo  "下载Nexus镜像"
docker pull sonatype/nexus3
echo  "启动Nexus容器"
docker run -d -p 8081:8081 --name nexus3 sonatype/nexus3

 

 

 

 

 

 

本文转载自:http://www.cnblogs.com/muzi1994/p/6026144.html

muzi1994

muzi1994

粉丝 5
博文 121
码字总数 31876
作品 0
朝阳
私信 提问
(搭建系列)centos7下搭建maven私服,以nexus3.x为例

maven仓库管理软件有这么几种: Apache Archiva,Artifactory,Sonatype Nexus 。这里我们以nexus为例搭建maven私服,这个用的最多吧。 一、下载相关文件 1、首先就是下载nexus 可以去官网下...

哥本哈根的小哥
09/26
79
0
Linux 下使用 Nexus

为什么要搭建私服? 在开发过程中,有时候会使用到公司内部的一些开发包,显然把这些包放在外部是不合适的。另外,由于项目一直在开发中,这些内部的依赖可能也在不断的更新。可以通过搭建公...

devin223
2017/06/05
0
0
Maven and Nexus2

Maven and Nexus2 Maven是什么? 构建工具: 通过简单的命令,能够完成清理、编译、测试、打包、部署等一系列过程。同时,不得不提的是,Maven是跨平台的,无论是在Windows、还是在Linux或M...

阿dai
2018/10/16
1K
6
Linux 使用nexus搭建maven私服

环境要求 系统:LINUX JDK:已安装 Maven:已安装(未安装详见maven安装教程) Nexus: 所有版本下载地址:https://www.sonatype.com/download-oss-sonatype Nexus是一个强大的Maven仓库管理...

muzi1994
2017/02/28
51
0
Linux搭建Maven私服Nexus3.x环境

一、Maven介绍 Apache Maven是一个创新的软件项目管理和综合工具。 Maven提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文件。...

898009427
2018/08/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Docker 常用命令速查手册

记录一下docker的日常使用命令,本文主要针对linux + mac操作系统而言,window是否适用不太确定,谨慎使用 <!-- more --> 1. docker进程 docker进程启动、停止、重启,常见的三种case # 启动...

小灰灰Blog
13分钟前
2
0
主流移动端账号登录方式的原理及设计思路

1、引言 在即时通讯网经常能看到各种高大上的高并发、分布式、高性能架构设计方面的文章,平时大家参加的众多开发者大会,主题也都是各种高大上的话题——什么5G啦、AI人工智能啦、什么阿里双...

imtech
21分钟前
3
0
如何递归计算目录中的所有代码行?

我们有一个PHP应用程序,并希望计算特定目录及其子目录下的所有代码行。 我们不需要忽略评论,因为我们只是想弄清楚。 wc -l *.php 该命令在给定目录中运行良好,但忽略子目录。 我当时认为...

技术盛宴
50分钟前
4
0
使用 try-with-resources 优雅关闭资源

我们知道,在 Java 编程过程中,如果打开了外部资源(文件、数据库连接、网络连接等、redis),我们必须在这些外部资源使用完毕后,手动关闭它们。 因为外部资源不由 JVM 管理,无法享用 JVM ...

七弦桐
57分钟前
4
0
04.深入浅出索引(上)

简单来说,索引的出现就是为了提高数据查询效率,就像书的目录一样。 索引的常见模型 索引实现的方式有很多种,所以这里就引入了索引模型的概念,可以用于提高读写效率的数据结构很多,比较常...

scgaopan
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部