2016年2月18日星期四

Maven_009:使用 Nexus 2 配置JBoss EAP仓库

环境: OS X EI Capitan 10.11.3 + JDK 1.7.0_80 + Maven 3.3.9 + Nexus 2.12.0-01 + JBoss EAP 6.4.0

1. 增加JBoss Public 代理仓库
JBoss 提供了一个公共仓库,地址是:http://repository.jboss.org/nexus/content/groups/public/


2. 增加JBoss EAP 宿主仓库:
每个版本的JBoss EAP 都提供了一个官方对应的本地的Maven仓库。
下载并解压 jboss-eap-6.4.0-maven-repository.zip


3. 在Public Repositories中增加刚刚创建的两个仓库



4. ~/.m2/settings.xml
内容和《配置Nexus私服前后编译项目的异同》一样。
而且以后都不用修改该文件,如果有新的仓库,直接在Nexus中增加就好了。

5.  测试
这里使用JBoss EAP 官方提供的quickstarts来测试一下。
下载并解压 jboss-eap-6.4.0-quickstarts.zip
cd helloworld
mvn clean install
除了第一次要下载构件到私服外,以后的build速度都很快。
rm -rf ~/.m2/repository
重新build,哇哦,速度真是超快呀!
以后再也不担心本地库混乱了,乱了直接删除就是了。

6.  部署构件到远程仓库
修改项目的pom.xml,在后面增加如下内容:

<distributionManagement>
    <repository>
        <id>releases</id>
        <name>Nexus Release Repository</name>
        <url>http://localhost:8081/nexus/content/repositories/releases/</url>
    </repository>
    <snapshotRepository>
        <id>snapshots</id>
        <name>Nexus Snapshot Repository</name>
        <url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
    </snapshotRepository>
</distributionManagement>
 注意,
(1)releases 是发布版本的构件,项目外部的依赖应该都是发布版本的构件。
(2)snapshots 是快照版本的构件,快照版本的构件只应该用于项目内部的模块依赖。
(3)repository 中的 id 必须与 server 中的 id 一致。

运行 mvn clean deploy,查看 releases 仓库,会看到部署成功的helloworld构件。




没有评论: