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

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官方网站...

    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 首先,需要...

    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不仅可以作为一个中央仓库的代理,还支持创建自己的存储库,方便组织内部共享依赖,提高开发...

    Linux版maven私服nexus

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

    maven私服搭建-nexus的部署

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

    Nexus私服搭建步骤

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

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

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

    配置maven私服nexus

    Nexus是一个Maven仓库管理器,用来搭建私有仓库服务器。建立公司/组织的私有仓库的好处是便于管理,节省公网带宽,利用内网下载依赖项速度快,还有一个非常有用的功能就是能有效管理内部项目的SNAPSHOT版本,实现...

    使用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