Maven仓库搭建和配置
maven在本地搭建仓库的实际需求
maven在项目构建过程需要下载一些必要的软件包,这些默认的下载链接都是访问maven的远程中央仓库Central Repo。如果项目中的成员,每次第一次构建的时候都需要访问外网去下载文件,这样效率不高,下载速度缓慢,且本地机器无法访问外网则会造成构建失败。所以此时如果有一个本地私服去缓存这些在项目中使用到的jar文件信息,便变得十分有意义了。
我使用Sonatype的Nexus搭建maven仓库
Nexus提供两种安装方式:bundle安装,只要有jre就能直接运行;war安装,需要依赖tomcat
这里介绍bundle安装,不需要依赖tomcat
1. 下载安装包
http://www.sonatype.org/nexus/go
nexus-xxxx-bundle.zip
2. 解压后放在本地任意目录
解压会发现两个文件夹nexus-xxxx和sonatype-work。
第一个文件夹是核心文件,第二个文件夹用来存储下载下来的jar
3. 配置环境变量PATH
Path:E:\maven\nexus-2.13.0-01-bundle\nexus-2.13.0-01\bin
4. 配置java路径
找到文件 ..\nexus-2.13.0-01\bin\jsw\conf\wrapper.conf
修改wrapper.java.command=D:\Java\jdk1.7.0_51\bin\java (java命令绝对路径)
5. 命令行窗口
> nexus install
安装成功后,在服务中找到nexus,启动服务
6. 输入localhost:8081/nexus即可访问。
端口可在nexus-2.2-01\conf\nexus.properties文件中修改
登录,默认用户名admin,密码admin123。
7. 仓库到此搭建完成
Maven项目使用远程仓库
- 修改maven项目的pom.xml
只对指定项目生效,在pom.xml中添加以下节点
<repositories> <repository> <id>nexus</id> <url>http://localhost:8081/nexus/content/groups/public/</url> </repository> </repositories>
- 修改maven配置setting.xml
对所有项目都生效,在setting.xml中添加以下节点(貌似不好用。。)
<mirrors> <mirror> <id>nexus</id> <name>private nexus</name> <url>http://localhost:8081/nexus/content/groups/public</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors>
pom.xml和setting.xml中的节点作用,具体的到maven网上都可以找到,功能是比较强大的