LonelyFireFox 2010-10-14
一、软件准备
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用户安装不用创建)
#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-oss-webapp-1.8.0-bundle.tar.gz文件到指定目录
#tar -zvxf nexus-oss-webapp-1.8.0-bundle.tar.gz
2、启动nexus
#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的主页,点击右上角Login
默认用户名和密码是:admin/admin123
运行后会自动生成一个nexus工作目录sonatype-work,nexus下载的jar包会存放在
sonatype-work/nexus/storage中
4、配置
1)点击左侧菜单Repositories
分别将右侧列表中
Apache Snapshots Codehaus Snapshots Maven Central
三个repository的DownloadRemoteIndex配置改为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添加到PublicRepositories中
在PublicRepositories的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选项,在右侧打开的页面的中下部,有一个选择项:DefaultHTTPProxySettings(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> <pluginRepository> <id>public-snapshots</id> <url>http://public-snapshots</url> <releases><enabled>false</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> <activeProfiles> <activeProfile>development</activeProfile> </activeProfiles> </settings>
将settings.xml文件复制到${user}/.m2目录下
7)测试
创建一个maven项目
#mvn archetype:generate
如果创建一个web项目可以选择83
填写相应的信息,maven会从私服上下载相应的jar包,看到的地址应该都是localhost的
项目创建成功后,将自己的pom.xml文件放在项目,执行
#mvn install 或者#mvn package
mvn会下载pom.xml文件定义的jar依赖
下载完成后,你可以在自己指定的repository目录下,如果没有指定则是在.m2/repository目录下查看自己的jar包
至此,我们的maven安装以及私服的搭建工作就完成了。