`
rick_zhai
  • 浏览: 6912 次
社区版块
存档分类
最新评论

Linux 安装配置maven3.2 以及搭建nexus私服

阅读更多
一、软件准备
1、apache-maven-3.0-bin.tar.gz 下载地址:http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-3.0-bin.tar.gz

2、nexus-3.2.0-01-unix.tar.gz
下载地址:http://nexus.sonatype.org/downloads/

二、maven安装配置
1、创建需要操作maven的用户组以及用户(如果用root用户安装不用创建)
    #groupadd configer  //创建用户组 
    #useradd -g configer configer  //创建用户并指定用户组 
    #passwd configer  //为用户分配密码 

2、创建解压目录,并将apache-maven-3.0-bin.tar.gz文件解压到指定目录

    #cd /opt 
    #mkdir maven 
    #chown -R configer:configer /opt/maven 
    #chmod 755 /opt/maven 
    #su -l configer 
    #tar -zvxf apache-maven-3.0-bin.tar.gz 

2、配置环境变量

    #vi /home/configer/.bash_profile 

在文件中添加如下行:

    M2_HOME=/opt/maven/apache-maven-3.0 
    export M2_HOME 
    PATH=$PATH:$M2_HOME/bin 
    export PATH 

3、查看版本

    #cd /opt/maven/apache-maven-3.0/bin 
    #mvn --version 


如果显示版本信息,应该会在${user}目录下创建.m2目录

4、查看.m2目录
    #cd /home/configer/.m2 
    如果没有.m2目录,则可以手动添加一个 
    #mkdir .m2 

5、如果需要把maven的repository目录指定到其他目录,则修改maven安装目录下conf中的配置文件settings.xml文件

    #vi /opt/maven/apache-maven-3.0/conf/settings.xml 
    将文件中<localRepository>....</localRepository>的注释打开

    或者在文件中增加 在这个注释下增加 
    <localRepository>your repository path</localRepository> 


二、搭建nexus私服
1、解压 nexus-3.2.0-01-unix.tar.gz 文件到指定目录
 
    #tar -zvxf nexus-3.2.0-01-unix.tar.gz 
  
    解压后有两个目录:
      nexus-3.2.0-01    -- nexus服务目录
      sonatype-work     -- nexus工作目录

2、自定义配置
  1) 修改端口号
    # vi nexus-3.2.0-01/etc/nexus-default.properties
    修改 application-port=8081   改成自定义的端口即可
    
  2) 开发端口
      iptables -I INPUT -p tcp --dport 8081 -j ACCEPT
 
  3)修改用户及密码
     在 security->Users-> More ->Change Password
   
2、启动nexus
    #cd /opt/maven/nexus-3.2.0-01/bin 
     
    #./nexus start 
     
    重启: 
    #./nexus restart 

    停止: 
    #./nexus stop 

3、运行nexus
在浏览器中输入:http://localhost:8081/nexus
就可以看到nexus 的主页,点击右上角Log in
默认用户名和密码是:admin/admin123

运行后会自动生成一个nexus工作目录sonatype-work,nexus下载的jar包会存放在
sonatype-work/nexus/storage中

4、配置
1)点击左侧菜单Repositories
分别将右侧列表中 

    Apache Snapshots 
    Codehaus Snapshots 
    Maven Central 


三个repository 的Download Remote Index 配置改为True,并保存设置,
然后在列表中分别右键点击三个Repository,点击ReIndex

2)增加新的Repository,有一些比较常用jar包在nexus提供的repository中可能找不到,
一般比较常用的有 

    JBOSS的两个: 
    http://repository.jboss.org/maven2/ 
    http://repository.jboss.org/nexus/content/repositories/releases/ 

    SUN的: 
    http://download.java.net/maven/2/
 
    K-INT的: 
    http://developer.k-int.com/maven2/ 
     
    因为找juel:juel-impl:2.2.1 这个jar包,所以我还添加了一个自己找的: 
    http://repository.exoplatform.org/content/groups/public/ 

添加步骤: 

    点击Add->Proxy Repository->填写Repository ID, Repository Name, 以及Remote Storage Location 其他的默认即可。 

3) 将新增的Repository添加到Public Repositories中
在Public Repositories 的Configuration中,将多选Select中的项全部添加到左边,然后保存。

4) 添加自己的jar包

    在repository列表中有一个3rd party,也就是第三方jar包,点击会看到一个Artifact Upload选项卡,点击后,填写相应的信息。 
    GAV Definition 一般选择 GAV Parameters 
    然后添加Group:Artifact:Version:Package 
    示例    juel:juel-impl:2.2.1:jar 


然后选择要上传的jar包,保存即可

5) nexus中设置代理服务器
选择左侧administrator菜单中的Server选项,在右侧打开的页面的中下部,有一个选择项:Default HTTP Proxy Settings(optional) 将复选框选中,填写相应的代理服务器信息即可。

6) 编写自己的settings.xml,文件内容如下:

    <settings> 
      <proxies> 
        <proxy> 
          <id>normal</id> 
          <active>true</active> 
          <protocol>http</protocol> 
          <username>deployment</username> 
          <password>deploy</password> 
          <host>localhost:8081/nexus</host> 
          <port>80</port> 
          <nonProxyHosts>localhost:8081/nexus</nonProxyHosts> 
        </proxy> 
      </proxies> 
     
      <mirrors> 
        <mirror> 
          <!--This is used to direct the public snapshots repo in the  
              profile below over to a different nexus group --> 
          <id>nexus-public-snapshots</id> 
          <mirrorOf>public-snapshots</mirrorOf> 
          <url>http://localhost:8081/nexus/content/groups/public-snapshots</url> 
        </mirror> 
        <mirror> 
          <!--This sends everything else to /public --> 
          <id>nexus</id> 
          <mirrorOf>*</mirrorOf> 
          <url>http://localhost:8081/nexus/content/groups/public</url> 
        </mirror> 
      </mirrors> 
       
      <profiles> 
        <profile> 
          <id>development</id> 
          <repositories> 
            <repository> 
              <id>central</id> 
              <url>http://central</url> 
              <releases><enabled>true</enabled></releases> 
              <snapshots><enabled>true</enabled></snapshots> 
            </repository> 
          </repositories> 
         <pluginRepositories> 
            <pluginRepository> 
              <id>central</id> 
              <url>http://central</url> 
              <releases><enabled>true</enabled></releases> 
              <snapshots><enabled>true</enabled></snapshots> 
            </pluginRepository> 
          </pluginRepositories> 
        </profile> 
        <profile> 
          <!--this profile will allow snapshots to be searched when activated--> 
          <id>public-snapshots</id> 
          <repositories> 
            <repository> 
              <id>public-snapshots</id> 
              <url>http://public-snapshots</url> 
              <releases><enabled>false</enabled></releases> 
              <snapshots><enabled>true</enabled></snapshots> 
            </repository> 
          </repositories> 
         <pluginRepositories> 
--------------------------------------------------------------------------------

遇到这种警告:
****************************************
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.

大概意思就是要在环境配置export RUN_AS_USER=root,临时配置
在命令行下输入:

export RUN_AS_USER=root

然后执行,就不会再提示了
./nexus start

---------------------------------------------------------------

Linux在启动时,会自动执行/etc/rc.d目录下的初始化程序,因此我们可以把启动任务放到该目录下:

1、因为其中的rc.local是在完成所有初始化之后执行,因此可以把启动脚本写到里面;
2、用root账号登陆Linux,vi /etc/rc.d/rc.local编辑文件,在最后加入需要执行的脚本程序:
su -l $username -c "/nexus/nexus-2.8.0-05/bin/nexus start"


****注意下面几点说明****
1.component name的一些说明:
    1)maven-central:maven中央库,默认从https://repo1.maven.org/maven2/拉取jar
    2)maven-releases:私库发行版jar
    3)maven-snapshots:私库快照(调试版本)jar
    4)maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用。
2.Nexus默认的仓库类型有以下四种:
    1)group(仓库组类型):又叫组仓库,用于方便开发人员自己设定的仓库;
    2)hosted(宿主类型):内部项目的发布仓库(内部开发人员,发布上去存放的仓库);
    3)proxy(代理类型):从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的Configuration页签下Remote Storage Location属性的值即被代理的远程仓库的路径);
    4)virtual(虚拟类型):虚拟仓库(这个基本用不到,重点关注上面三个仓库的使用);
3.Policy(策略):表示该仓库为发布(Release)版本仓库还是快照(Snapshot)版本仓库;
4.Public Repositories下的仓库
   1)3rd party: 无法从公共仓库获得的第三方发布版本的构件仓库,即第三方依赖的仓库,这个数据通常是由内部人员自行下载之后发布上去;
   2)Apache Snapshots: 用了代理ApacheMaven仓库快照版本的构件仓库
   3)Central: 用来代理maven中央仓库中发布版本构件的仓库
   4)Central M1 shadow: 用于提供中央仓库中M1格式的发布版本的构件镜像仓库
   5)Codehaus Snapshots: 用来代理CodehausMaven 仓库的快照版本构件的仓库
   6)Releases: 内部的模块中release模块的发布仓库,用来部署管理内部的发布版本构件的宿主类型仓库;release是发布版本;
   7)Snapshots:发布内部的SNAPSHOT模块的仓库,用来部署管理内部的快照版本构件的宿主类型仓库;snapshots是快照版本,也就是不稳定版本
所以自定义构建的仓库组代理仓库的顺序为:Releases,Snapshots,3rd party,Central。也可以使用oschina放到Central前面,下载包会更快。
5.Nexus默认的端口是8081,可以在etc/nexus-default.properties配置中修改。
6.Nexus默认的用户名密码是admin/admin123
7.当遇到奇怪问题时,重启nexus,重启后web界面要1分钟左右后才能访问。
8.Nexus的工作目录是sonatype-work(路径一般在nexus同级目录下)
[root@master-node local]# pwd
/usr/local
[root@master-node local]# ls nexus/
bin deploy etc lib LICENSE.txt NOTICE.txt public system
[root@master-node local]# ls sonatype-work/
nexus3
[root@master-node local]# ls sonatype-work/nexus3/
backup blobs cache db elasticsearch etc generated-bundles health-check instances keystores lock log orient port tmp

Nexus仓库分类的概念:
1)Maven可直接从宿主仓库下载构件,也可以从代理仓库下载构件,而代理仓库间接的从远程仓库下载并缓存构件
2)为了方便,Maven可以从仓库组下载构件,而仓库组并没有时间的内容(下图中用虚线表示,它会转向包含的宿主仓库或者代理仓库获得实际构件的内容)

转自:http://www.cnblogs.com/dingyingsi/p/3776560.html
分享到:
评论
1 楼 zyx870805 2017-06-11  
nexus 2.X的版本, 混合着3.X的版本, 哎

相关推荐

    Maven Nexus 私服搭建

    Maven Nexus 私服搭建 从零开始,资源下载、安装指导、开发配置说明

    如何进行Linux安装配置maven以及搭建nexus服务器.docx

    在Linux环境中,构建Java开发的高效工具链通常包括安装配置Maven和搭建Nexus服务器。以下将详细讲解这两个过程。 **一、安装JDK** 在安装Maven之前,首先需要安装Java Development Kit(JDK)。从Oracle官方网站...

    Maven仓库和搭建Nexus私服.pdf

    **Nexus搭建私服** Nexus是Sonatype公司提供的一个强大的Maven仓库管理器,它可以作为企业内部的私有仓库,用于托管内部项目构件,同时也可以作为代理,缓存远程仓库(包括中央仓库)的构件,减少网络延迟。搭建...

    linux-maven-maven私服nexus安装文档

    Linux Maven Maven私服Nexus安装文档主要涵盖了在CentOS操作系统上安装和配置Maven以及搭建Maven私有仓库Nexus的详细步骤。以下是整个过程的详细说明: 1. **安装Maven** - **确认安装源**:首先,你需要检查你的...

    Windows 下Nexus搭建Maven私服

    ### Windows 下 Nexus 搭建 Maven 私服详解 #### 一、为什么使用 Nexus 在软件开发过程中,尤其是...通过以上步骤,就可以成功搭建并配置好基于 Windows 的 Nexus Maven 私服,有效提升团队开发效率及资源利用率。

    Nexus搭建Maven私服 +maven安装步骤

    Nexus 搭建 Maven 私服 + Maven 安装步骤 Nexus 是一个功能强大且灵活的仓库管理工具,能够帮助开发团队更好地管理项目依赖项和构件。通过搭建 Nexus 私服,可以实现项目依赖项的集中管理、加速项目构建和部署、...

    linux下搭建内网maven私服

    为了搭建内网 Maven 私服,需要下载和安装 Nexus 仓库管理工具,Nexus 是一个功能强大且灵活的仓库管理工具,支持 Maven、Gradle 和 Ivy 等构建工具。下面是搭建内网 Maven 私服的步骤: 1. 下载 Nexus 首先,需要...

    在CentOS下使用nexus搭建maven私服的安装教程

    本文详细介绍了在CentOS环境下使用Nexus搭建Maven私库的整个过程,包括环境准备、软件安装、配置调整、启动与访问等多个环节。通过这些步骤,可以帮助开发者有效地管理项目依赖,提高开发效率。此外,还提供了一些...

    linux,nexus3.14+maven3.6.3.zip,搭建maven私服一步到位

    本教程将指导您在Linux环境下,利用Nexus 3.14和Maven 3.6.3快速搭建Maven私服。 首先,我们来看看所需的主要组件: 1. **Nexus 3.14**:这是Sonatype公司提供的开源仓库管理工具,它可以作为Maven私服,支持多种...

    Linux下利用nexus搭建maven私服

    【Linux下利用nexus搭建maven私服】 在Linux环境下,Nexus是一款强大的仓库管理器,可以用来搭建Maven私有仓库。Nexus不仅可以作为一个中央仓库的代理,还支持创建自己的存储库,方便组织内部共享依赖,提高开发...

    maven私服搭建-nexus的部署

    在本文中,我们将介绍如何搭建一个 Maven 私服,使用 Nexus 作为私服解决方案,并详细介绍 Nexus 的安装、配置和使用。 一、Nexus 简介 Nexus 是一个由 Sonatype 开发的 Maven 私服解决方案,它提供了强大的仓库...

    Nexus私服搭建步骤

    Nexus私服搭建步骤详解 Nexus 私服是一种流行的 ...通过上面的步骤,可以成功搭建 Nexus 私服,并将 Maven 项目部署到 Nexus 私服上。Nexus 私服可以帮助企业级软件开发更方便地管理项目依赖项,从而提高开发效率。

    maven 私服 nexus2 nexus3 安装与说明

    maven 私服 nexus2 nexus3 安装与说明,只有简单的安装,没有详细的配置使用说明

    手动搭建maven私服-安装配置nexus 3.4教程

    "手动搭建maven私服-安装配置nexus 3.4教程" 手动搭建maven私服是指使用nexus 3.4安装配置一个maven私服,实现公司或个人项目的构件管理。下面将详细介绍手动搭建maven私服的过程。 一、安装nexus 3.4 首先下载...

    Linux版maven私服nexus

    Linux版的Maven私有仓库服务Nexus是一个强大的工具,尤其在Java开发环境中,它用于存储、管理和分发软件库组件。Nexus是Sonatype公司的一款产品,它提供了对Maven、Gradle和其他构建工具的强大支持,使得团队可以更...

    maven使用及Nexus搭建Maven私服.pdf

    ### Maven使用及Nexus搭建Maven私服的知识点详解 #### Maven简介与作用 Maven是Apache软件基金会组织下的一个开源项目,它是一个项目管理和综合工具,主要用于Java项目的构建、依赖管理和项目信息管理。通过Maven...

    maven3.1、maven3.2安装包、源码及eclipse整合插件

    这里我们关注的是Maven 3.1和3.2版本的安装包和源码,以及如何将Maven与Eclipse集成的插件。下面将详细介绍这些内容。 1. Maven 3.1和3.2版本: Maven 3.x系列相较于之前的版本,引入了诸多改进,如性能优化、更好...

    使用Nexus搭建Maven私服

    在上图中,搭建私服后,所有的依赖从私服下载,私服会自动判定,若私服库里没有所需的资源,则私服会自动去远程中央仓库下载,若私服已包含所需资源,则可以通过内网提供给使用者,大大提高工作效率。 我们使用专门...

    建立Maven私服 – Nexus下载、安装、配置、使用

    Maven私服是一种私有的Maven仓库,用于存储和管理项目依赖...通过以上步骤,你就成功建立了自己的Maven私服,并学会了如何下载、安装、配置和使用Nexus。这将极大地优化你的开发流程,减少网络延迟,提升团队协作效率。

    搭建Maven私服,并配置Nexus环境

    接下来,我们来详细讲解如何搭建Maven私服并配置Nexus环境。 1. **安装Nexus** 下载Nexus的最新版本,如压缩包文件中的`nexus-latest-bundle.zip`。解压后,找到`bin`目录下的`nexus.exe`(Windows)或`nexus`...

Global site tag (gtag.js) - Google Analytics