首页 > 代码库 > 用Maven管理搭服务器管理系统(一)

用Maven管理搭服务器管理系统(一)

  以前的项目一直未使用过项目管理工具,现在发现越来越多的开源代码都是用maven构建的,所以决定要将这个大众流行的管理工具学习一下,方便自己日后找工作。

     首先我们在安装Maven之前先了解它是做什么的?

     官网上翻译:Maven是基于项目对象模型(POM即Project Object Model),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。

    Maven的主要目标是为了使开发人员在最短的时间内领会项目的所有状态。为了达到这一目标,Maven考虑一下五个方面的内容:

1、使得构建过程更加容易,方便编译,打包,发布

2、为每个项目提供统一的配置

3、提供优质项目信息

4、最佳开发实践

5、安装和更新第三插件透明化

现在我们开始安装Maven

maven下载地址:http://maven.apache.org/release-notes-all.html

安装maven超级简单,总共分四步:

1.下载 Maven ,其实就是一个压缩包,解压一下

技术分享

1.配置一下环境变量

有两个环境变量可以配置:

MAVEN_HOME = D:\maven\apache-maven-3.2.3

MAVEN_OPTS = -Xms128m -Xmx512m(可选)

2.在path变量末尾加入“%MAVEN_HOME%\bin;”。

以上M2_HOME 是必须要配置的,如果想让 Maven 跑得更快点,可以根据自己的情况来设置 MAVEN_OPTS。 
技术分享

3.最后,验证是否安装成功

现在我们打开 cmd,输入:

mvn -v

我想您一定会看到一些信息,如下图所示: 
技术分享

恭喜您,Maven 安装成功!

在使用 Maven 之前,我们必须要了解一下 Maven 到底是怎样管理 jar 包的,这就是 Maven 仓库要干的活了。

了解Maven仓库

使用 Maven 给我们带来的最直接的好处,就是统一管理jar 包,那么这些 jar 包存放在哪里呢?它们就在您的 本地仓库 中,默认地址位于 C:\Users\用户名.m2 目录下(当然也可以修改这个默认地址),下面我们就修改一下这个默认地址。

实际上我们可以将本地仓库理解“缓存”,目的是存放jar包。开发项目时项目首先会从本地仓库中获取 jar 包,当无法获取指定 jar 包的时候,本地仓库会从 远程仓库(或 中央仓库) 中下载 jar 包,并“缓存”到本地仓库中以备将来使用。

远程仓库(中央仓库)是 Maven 官方提供的,可通过 http://search.maven.org/ 来访问。这样一来,本地仓库会随着项目的积累越来越大。通过下面这张图可以清晰地表达项目、本地仓库、远程仓库之间的关系。

技术分享

既然 Maven 安装了,那么本地仓库也就有了,默认路径在我们C盘目录下,对于专业人士来说C盘很危险,下面我们修改一下默认配置。

配置

Maven会将下载的类库(jar包)放置到本地的一个目录下,如果想重新定义这个目录的位置就需要修改Maven本地仓库的配置:

修改文件:D:\maven\apache-maven-3.2.3\conf\setting.xml

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">      <!-- localRepository
      | The path to the local repository maven will use to store artifacts.
      |
      | Default: ${user.home}/.m2/repository
     <localRepository>/path/to/local/repo</localRepository>
     -->        
     <localRepository>D:\maven\repository</localRepository></settings>

依据该配置,Maven就会将下载的类库保存到D:\maven\repository中。

实验一下我们刚才做的事情产生作用没有,控制台输入:

mvn help:system

如图所示效果: 
技术分享

如果没有任何问题,执行完该命令之后,在D:\maven\repository下面就会多出很多文件,这些文件就是maven从中央仓库下载到本地仓库的文件,maven已经开始为我们工作了。

在Eclipse IDE中安装Maven插件

安装IDE Plugins的方法有很多。其一:在线安装,通过Help-->Install New Software的方式,输入HTTP地址来安装,简单易操作,但是也优缺点,就是下载速度慢,或者有的时候干脆搜索不到要安装的插件。使用第一种方式来安装,输入 http 地址:http://m2eclipse.sonatype.org/sites/m2e,把选项勾上,然后等待它  下载安装,完成之后重启 eclipse 即可。

             技术分享技术分享

其二:使用离线插件包,下载地址。接下来我们使用两种方式来安装 eclipse-maven3-plugin.7z,一个是通过link文件方式来安装插件,另一个是粗暴但直接简单的方式(直接将相关文件复制到对应文件夹内)。

 

   link方式(自定义方式):

 

   1. 在你的 eclipse 安装的根目录下创建两个文件夹:links,mavenPlugins(文件夹名称可自定义),把eclipse-maven3-plugin.7z解压后的features和plugins文件夹放到mavenPlugins文件夹下(必须如此,注意解压后文件夹的嵌套情况)。

 

   3. 在 links 目录下创建一个maven.link(文件名称可自定义)文件,打开并输入:path=mavenPlugins文件夹绝对路径(需要注意文件夹路径中是"/"或者"\\"  而不是"\" )。

 

   4. 重启 eclipse,启动后你打开Window ---> Preferences 会发现一个多了一个选项Maven,说明安装成功了。

 

   直接粗暴的方式:

   将解压后的子文件夹features和plugins的jar包文件分别导入Eclipse安装目录下的features和plugins文件夹内,然后重启Eclipse就可以在Preferences中看到Maven选项了。即Maven插件配置成功。

 

技术分享


关于Nexus私服安装(项目组使用)

 Nexus是Maven仓库管理器,也可以叫Maven的私服。Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个Artifact。Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。

       Nexus不是Maven的核心概念,它仅仅是一种衍生出来的特殊的Maven仓库。对于Maven来说,仓库只有两种:本地仓库和远程仓库。

       技术分享

      本地仓库就是我们在maven的setting.xml中配置的本地仓库地址。由于最原始的本地仓库是空的,Maven必须知道至少一个可用的远程仓库,才能在执行Maven命令的时候下载到需要的构件。

     中央仓库是maven默认的远程仓库。  

     私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件。有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库;否则,私服请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载。

        技术分享

为什么使用Nexus?

1、节省外网带宽。

      大量对于外部仓库的重复请求会消耗带宽,利用私服代理外部仓库,可以消除对外的重复构件下载,降低带宽的压力。

2、加速Maven构建。

      不停地连接请求外部仓库十分的耗时,Maven在执行构建的时候不停地检查远程仓库的数据。利用私服,Maven只检查局域网的数据,提高构建的速度。

3、部署第三方构件。

      当某个构件无法从任何一个外部远程仓库获得。建立私服之后,便可以将这些构件部署到私服,供内部的Maven项目使用。

4、提高稳定性,增强控制。

       Maven构建高度依赖于远程仓库,因此,当网络不稳定的时候,Maven构建也会变得不稳定,甚至无法构建。私服缓存了大量构建,即使暂时没有网络,Maven也可以正常的运行。

5、降低中央仓库的负荷。

      使用私服可以避免很多对中央仓库的重复下载,降低中央仓库的压力。

 

安装Nexus

        Nexus专业版是需要付费的,我们使用的开源版Nexus OSS。Nexus提供了两种安装方式,一种是内嵌Jetty的bundle,只要你有JRE就能直接运行。第二种方式是不包含容器的WAR包,你只须简单的将其发布到web容器中即可使用。

 

Nexus下载:


        下载地址:http://www.sonatype.org/nexus/go,下载最新版本的Nexus,我使用的是nexus-2.8.1-bundle。

Bundle方式安装:

 

1、将nexus-2.8.1-bundle.zip解压至任意目录,如:D:\tools\maven。这是会得到如下两个目录:

 

      技术分享

      1.1、nexus-2.8.1-01:该目录包含了Nexus运行所需要的文件,如启动脚本、依赖jar包等。

      打开目录\nexus-2.8.1-01\bin\jsw这个目录下面你会发现有很多系统版本的nexus环境,如下图:

     技术分享

      我的电脑是windows的系统,我打开一个文件夹,文件夹包含是nexus的命令,如下图:

       技术分享

       1.2、sonatype-work:该目录包含Nexus生成的配置文件、日志文件、仓库文件。该目录不是必须得,Nexus会在运行的时候动态的创建,不再过多的介绍。

 

2.、为方便启动和退出Nexus,将bin添加到环境变量。

 

         技术分享

       

3.、使用命令nexus install将nexus安装到windows的服务中。

 

       技术分享

     

Nexus启动成功了,然后打开浏览器,访问http://localhost:8081/nexus,你会看到如下的页面:

 

        技术分享

 

要停止Nexus,Ctrl+C即可,也可以使用stop命令。

 

WAR方式安装:

    你需要有一个能运行的webapp的容器,这里以Tomcat为例,加入Tomcat的安装目录位于D:\tools\apache-tomcat-6.0.18 ,首先我们将下载的nexus-webapp-1.3.0.war 重命名为nexus.war ,然后复制到D:\tools\apache-tomcat-6.0.18\webapps\nexus.war ,然后启动CMD,cd到D:\tools\apache-tomcat-6.0.18\bin\ 目录,运行startup.bat 。一切OK,现在可以打开浏览器访问http://127.0.0.1:8080/nexus,你会得到和上图一样的界面。

 

 登录

      点击右上角 Log In,使用用户名:admin ,密码:admin123 登录,可使用更多功能。

         技术分享

 

以上文章均来自网络,安装软件大致都是一样的,感谢原作者提供,本人按照以上安装成功。

本文出自 “进击的程序猿” 博客,请务必保留此出处http://zangyanan.blog.51cto.com/11610700/1877585

用Maven管理搭服务器管理系统(一)