私有仓库
Maven默认提供的中央仓库是由Apache提供的,使用maven过程中,受限于中国的网络环境,链接中央仓库速度不是非常理想。同时,开发过程中对中央仓库的依赖性太大,如果遇到外网无法访问的情况,会影响到开发进度。所以创建私有仓库势在必行。
配置私有仓库
Nexus下载
下载地址:http://www.sonatype.org/nexus/go
Nexus启动
Windows操作系统我下载zip包,解压后进入
将本地模块发布到私有库中
首先在项目POM文件里面添加要发布的私有库的信息
<!-- 配置远程发布到私服,mvn deploy -->
<distributionManagement>
<repository>
<id>releases</id>
<name>Nexus Release Repository</name>
<url>http://10.1.81.199:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://10.1.81.199:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
之后修改maven配置文件settings.xml,添加nexus库的用户名以及密码。
id与远程发布库的id要一致。
<server>
<id>releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
创建中央库的镜像
最后在自己的应用中把中心仓库配置成建立的私有仓库地址即可,修改maven配置文件settings.xml
在mirrors添加mirror节点地址指向建立的私有仓库地址,mirrorOf属性值设为central为了覆盖超级pom中指定的central地址,如下
<mirrors>
<mirror>
<id>planetmirror.com</id>
<name>PlanetMirror Australia</name>
<url>http://downloads.planetmirror.com/pub/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
- id, name是该镜像的唯一定义符。id用来区分不同的mirror元素。
- url是该镜像的URL。构建系统会优先考虑使用该URL,而非使用默认的服务器URL。
- mirrorOf是被镜像的服务器的id。例如,如果我们要设置了一个Maven中央仓库(http://repo1.maven.org/maven2)的镜像,就需要将该元素设置成central。这必须和中央仓库的id central完全一致。
依赖指定JDK版本
dependency
下的属性classifier
这个属性用于区分从同一个pom编译出来的但是内容不同的同名包,例如同一个工程编译出两个artifact,一个支持jdk1.5一个支持jdk1.4,那么就可以使用这个来命名为jdk15和jdk14来区分,它如果出现在包名中,那么它必须跟在版本号后。还有一种情况是将一个工程的一些次要artifact附到主要artifact中,就可以使用这个来区分,例如一个工程产生source
,javadoc
,class
三种东西,那么就可以使用不同的classifier来分别标识这些东西。
参考文献
- http://blog.csdn.net/liujiahan629629/article/details/39272321
- http://www.iteye.com/problems/60531
- http://blog.csdn.net/dhmpgt/article/details/9998321