Maven和 Sonatype Nexus私服的安装、配置及使用入门

http://blog.csdn.net/congcong68/article/details/40273833

Maven 在我们项目中能帮我们解决哪些问题:

     1.输入命令就会帮我们自动 编译、运行单元测试、生成文档、打包和部署等,列如输入mvn clean install命令就会自动打包。

     2.我们在项目中会引入一些开源框架、第三方的工具等等,这些都是以jar包的方式被项目所引用,并且有些jar包还会依赖其他的jar包,我们同样需要添加到项目中,所有这些相关的jar包都会作为项目的依赖,有时依赖jar包会很多,在管理这些jar包过程中,jar包的版本会比较困难,有时版本变了,你项目中的对应的jar版本没办,有时会出错,Maven解决了开发过程中的这一难题Maven可以对项目依赖的jar包进行管理我们需要什么样的包,就到*库去下载对应的jar。

 

一.Maven的安装与配置

   步骤一:

     1.下载Maven安装

        Maven官网下载地址http://maven.apache.org/download.cgi 

        apache-maven-3.1.1-bin.tar.gz

     2.解压

        tar -xvf  apache-maven-3.1.1-bin.tar.gz

     3..配置环境变量,编辑/etc/profile文件,添加如下代码

        MAVEN_HOME=/opt/tem/apache-maven-3.1.1

        export MAVEN_HOME

        export PATH=${PATH}:${MAVEN_HOME}/bin

        Maven和 Sonatype Nexus私服的安装、配置及使用入门

    4.保存文件,并运行如下命令使环境变量生效

       source /etc/profile

     5.在控制台输入如下命令,如果能看到Maven相关版本信息,则说明Maven已经安装成功。

 mvn -v

      Maven和 Sonatype Nexus私服的安装、配置及使用入门

 

二. Sonatype Nexus私服安装与配置

    

   1.下载Nexus私服安装包

        Nexus官网下载地址http://www.sonatype.org/nexus/ 

        nexus-2.10.0-02-bundle.tar.gz

  2.解压

      tar -xvf  nexus-2.10.0-02-bundle.tar.gz

       Maven和 Sonatype Nexus私服的安装、配置及使用入门

  3.可以编辑nexus-2.10.0-02/conf/nexus.properties自定设置参数,包括端口号等。

      Maven和 Sonatype Nexus私服的安装、配置及使用入门

4.启动nexus,启动命令

      Maven和 Sonatype Nexus私服的安装、配置及使用入门

    发现用ROOT启动不了,这时我们要export RUN_AS_USER=root  导入root用户, 在#./nexus start  这时就不会了

    #./nexus status  查看有没有启动

   Maven和 Sonatype Nexus私服的安装、配置及使用入门

  当没执行时,我们要查看日志,tail -200 logs/wrapper.log |more

     Maven和 Sonatype Nexus私服的安装、配置及使用入门

   这时出现了JDK版本不对,最低是JDK1.7,我们这边安装的是JDK1.6,这时我们要重新卸载,安装JDK1.7,然后在重新执行就可以了

  Maven和 Sonatype Nexus私服的安装、配置及使用入门

这时就运行起来了,我们用IE访问一下

    http://192.168.74.129:8081/nexus  默认的用户名和密码是admin/admin123

Maven和 Sonatype Nexus私服的安装、配置及使用入门


这时能正常访问,说明Nexus私服安装成功。


可以 在 /etc/init.d 设置Nexus私服开机就启动,网上有很多,这里就不具体介绍了。


说明:

    

    1.nexus里可以配置3种类型的仓库,分别是proxy、hosted、group 

 

    2.proxy是远程仓库的代理。比如说在nexus中配置了一个central repository的proxy,当用户向这个proxy请求一个artifact,这个proxy就会先在本地查找,如果找不到的话,就会从远程仓库下载,然后返回给用户,相当于起到一个中转的作用。

 

    3.hosted是宿主仓库,用户可以把自己的一些构件,deploy到hosted中,也可以手工上传构件到hosted里。比如说oracle的驱动程序,ojdbc6.jar,在central repository是获取不到的,就需要手工上传到hosted里。

 

    4.group是仓库组,在maven里没有这个概念,是nexus特有的。目的是将上述多个仓库聚合,对用户暴露统一的地址,这样用户就不需要在pom中配置多个地址,只要统一配置group的地址就可以了。


  如果服务器需要代理才能访问外网,这时我们需要设置代理

   Maven和 Sonatype Nexus私服的安装、配置及使用入门

      在这边设置就可以了。