实战中MAVEN私服的搭建
利用maven来管理项目的构建,报告和文档已经成为了我们现在的共识,任何开源软件基本都在使用,当然我们现在的大部分公司也基本都在使用,我把以前使用maven的一些经验在进行加工呈现给大家,希望可以帮助一些当前正在学习maven的初学者们还有刚毕业的学子们!
我会结合Eclipse+nexus+maven的实践来个大家做介绍!
Nexus是Maven仓库管理器,虽然我们可以从Maven*仓库下载所需要的构件(artifact),但这样会让我们的编译过程变得相当的慢,架设一个本地Maven仓库服务器,在代理远程仓库的同时维护本地jar包仓库,可以节省带宽和时间,Nexus oss版就是一款相当不错的软件,完全能实现我们的需求。
一:下载和安装Nexus
Nexus提供了两种安装方式
第一种是内嵌Jetty的bundle,只要你有JRE就能直接运行。
第二种方式是WAR,你只须简单的将其发布到web容器中即可使用
笔者本次使用第二种方式war包方式部署。
安装环境:
Jdk6
Tomcat6
Centos6.3的硬件环境
注:linux下环境的配置就不在说明了。
1)Linux系统下可采用wget方式下载
wgethttp://www.sonatype.org/downloads/nexus-2.8.0.war
建议直接把包下载到tomcat的webapp目录下。
2)windows页面下载方式
windows下安装我们进入下载页面:
选择红色框框住的按钮,OSS版是开源的免费的,进入下载页面,如下图:
启动tomcat,在浏览器中输入:
如果启动成功就会显示该页面,点击右上角Login。
用户名 admin
至此Nexus的Maven仓库管理器已经搭建好了!
二:下载和部署MAVEN
Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。
我们要在自己的开发机上安装MAVEN,并配置环境变量,设置连接私服的配置文件。
下载地址:http://maven.apache.org/download.cgi
最新版apache-maven-3.2.1-bin.zip
解压缩到任意一个盘下。
设置环境变量
变量值:
D:\work\work-tools\maven\apache-maven-3.2.1-bin\apache-maven-3.2.1
2)修改配置文件,以便连接到我们刚搭建好的私服
打开目录下的settings.xml文件。(该目录是你自己解压缩后的目录,我的是解到了D盘下)
D:\work\work-tools\maven\apache-maven-3.2.1-bin\apache-maven-3.2.1\conf
注:maven会自己检查目录是否存在,不存在会自动建立。
<profile> <id>dev</id> <activation> <activeByDefault>true</activeByDefault> </activation> <repositories> <repository> <id>internal-nexus-repo</id> <name>your localartifactory</name> <url>http://192.168.1.106:8080/nexus-2.8.0/content/groups/public/</url> <releases> <enabled>true</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>warn</checksumPolicy> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>warn</checksumPolicy> </snapshots> </repository> <repository> <id>maven-internet</id> <name>Public Repositories</name> <url>http://repo1.maven.org/maven2</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>nexus-plugin-repo</id> <name>your localartifactory</name> <url>http://192.168.1.106:8080/nexus-2.8.0/content/groups/public/</url> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository>
<pluginRepository> <id>maven-internet</id> <name>Maven Central</name> <url>http://repo1.maven.org/maven2</url> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> |
这里除了配置了自己的私服地址外,还配置了网络服务,这样做是一种补充。当然大家也可以只连接网络服务或是只配置自己的私服地址(必需开启远程索引下载,配制nexus时我们已经开启了Download Remote Indexes)。
保存文件后我们的maven就已经配置好了!
三:设置M2_REPO变量
安装配置好私服和MAVEN,我们只是可以在dos下利用mvn的命令行建立maven的项目和编译项目,但是我们一般开发都会使用IDE工具,下面我们就以Eclipse为例,说明如何配置使用IDE。
注:maven的常用命令请自行学习,这里我就不说明了。
1:没有在Eclipse里安装MAVEN插件情况
配置M2_REPO变量
点击eclipse的菜单window下preferences属性,如下图。
点击工具栏选择红色框圈住的部分,选择External Tools Configurations
Program点击右键new,修改相关属性,eclipse:eclipse命令就建立好了。
2:Eclipse里已安装了MAVEN插件的情况
如果安装了插件,那么就配置一下插件就行。(maven插件的安装大家可以查考以下网络)
点击add添加我们刚部署的maven3.2.1,点击apply。
浏览选择setting.xml文件,点击 update settings更新配置文件,点击apply。
3)设置好后查看一下M2_REPO变量是否被自动添加。
如果没有问题就可以配置maven的命令了,如下图
这次选择红框框住的菜单下的Run Configurations
本图是maven的package命令,我们根据自己的需要可以选择profiles的配置,这里我选择了skip tests这里的意思是打包时不进行test代码验证。
至此利用maven来进行项目构建与管理的整体流程就说完了,这里面还有许多地方没有进行细说,
例如:
Eclipse里如果没有插件MAVEN的插件我们该如何建立maven的项目?
Eclipse里有MAVEN的插件我们该如何建立maven的项目?
如何安装那些没有在公共网络上有的jar包?
等等一系列的问题,我想要学习一个东西大家必须有自我的积极主动性,留下一些问题让大家自己先学习思考一下,下一篇我会详细说明一下我刚才提到的几个问题。
由于写作水平有限,如果有哪些地方还没有说清楚欢迎大家留言交流!