Linux环境下Maven仓库的搭建(nexus)及Mavan的简单使用

一、软件准备

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-oss-webapp-1.8.0-bundle.tar.gz 下载地址:http://nexus.sonatype.org/downloads/

二、maven安装配置

1、创建需要操作maven的用户组以及用户(如果用root用户安装不用创建)

Java代码

    #groupadd configer  //创建用户组  

    #useradd -g configer configer  //创建用户并指定用户组  

    #passwd configer  //为用户分配密码  

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

Java代码

    #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、配置环境变量

Java代码

    #vi /home/configer/.bash_profile  

在文件中添加如下行:

Java代码

    M2_HOME=/opt/maven/apache-maven-3.0  

    export M2_HOME  

    PATH=$PATH:$M2_HOME/bin  

    export PATH  

3、查看版本

Java代码

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

    #mvn --version  

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

4、查看.m2目录

Java代码

    #cd /home/configer/.m2  

    如果没有.m2目录,则可以手动添加一个  

    #mkdir .m2  

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

Java代码

    #vi /opt/maven/apache-maven-3.0/conf/settings.xml  

    将文件中<localRepository>....</localRepository>的注释打开  

    或者在文件中增加 在这个注释下增加  

    <localRepository>your repository path</localRepository>  

二、搭建nexus私服

1、解压nexus-oss-webapp-1.8.0-bundle.tar.gz文件到指定目录

Java代码

    #tar -zvxf nexus-oss-webapp-1.8.0-bundle.tar.gz  

2、启动nexus

Java代码

    #cd /opt/maven/nexus-oss-webapp-1.8.0/bin/jsw  

     

    选择自己机器的版本:  

     

    #cd linux-x86-32/  

    #./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

分别将右侧列表中

Java代码

    Apache Snapshots  

    Codehaus Snapshots  

    Maven Central  

三个repository 的Download Remote Index 配置改为True,并保存设置,

然后在列表中分别右键点击三个Repository,点击ReIndex

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

一般比较常用的有

Java代码

    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/  

添加步骤:

Java代码

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

3) 将新增的Repository添加到Public Repositories中

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

4) 添加自己的jar包

Java代码

    在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,文件内容如下:

Java代码

    <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 "/usr/local/nexus/nexus-oss-webapp-1.8.0/bin/nexus start"


你可能感兴趣的:(Linux环境下Maven仓库的搭建(nexus)及Mavan的简单使用)