您的位置:首页 > 运维架构 > Linux

Linux 使用nexus搭建maven私服

2016-11-04 14:24 531 查看

一、准备工作

[align=left]    系统:LINUX[/align]
[align=left] JDK:已安装(未安装详见jdk安装教程:http://www.cnblogs.com/muzi1994/p/5818099.html)[/align]
[align=left] Maven:已安装(未安装详见maven安装教程:http://www.cnblogs.com/muzi1994/p/6030181.html)[/align]
[align=left] Nexus:http://www.sonatype.org/nexus/go[/align]
[align=left] 所有版本下载地址:http://www.sonatype.org/nexus/archived/
[/align]

Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。

二、安装Nexus

  1.解压nexus文件

[root@centos6 var]# tar -zvxf nexus-2.12.0-01-bundle.tar.gz


  


注:解压后有两个文件夹:
nexus-2.12.0-01: 是nexus的核心文件

sonatype-work :maven下载jar存放地址

  2.启动Nexus

[root@centos6 nexus-2.12.0-01]# ./bin/nexus start

- ****************************************
WARNING - NOT RECOMMENDED TO RUN AS ROOT
****************************************
If you insist running as root, then set the environment variable RUN_AS_USER=root before running this script.


  默认情况下,不建议以root用户运行Nexus,可以修改bin/nexus中的配置跳过警告(修改RUN_AS_USER=root)

[root@centos6 nexus-2.12.0-01]# vi bin/nexus


  


重新启动Nexus

[root@centos6 nexus-2.12.0-01]# ./bin/nexus start

- ****************************************
WARNING - NOT RECOMMENDED TO RUN AS ROOT
****************************************
Starting Nexus OSS...
Started Nexus OSS.


  注:Nexus默认端口8081,如果想修改端口。修改/conf/nexus.properties文件



访问网址:http://192.168.1.11:8081/nexus/#welcome



点击右上角的 Log In 按钮即可登陆了。默认登录账号/密码为: admin/admin123 ,登陆成功后的界面



  点击Repositories,将列表中所有Type为proxy 的项目的 Configuration 中的 Download Remote Indexes 设置为True



将Releases仓库的Deployment Policy设置为 Allow ReDeploy



当然我们也避免不了会使用到一些第三方的 jar ,而这些jar包也不存在于互联网上的maven中央仓库中,这时我们可以手工添加jar 到我们的私服中。
添加第三方 jar 如下:



填写完必选字段,点击Upload Artifact(s)按钮即可。

  3.配置本地项目引用私服

   自动发布构件到远程仓库,在工程pom.xml中添加

<distributionManagement>
<repository>
<id>releases</id><!--这个ID需要与你的release仓库的Repository ID一致-->
<url>http://192.168.1.11:8081/nexus/content/repositories/releases</url>
</repository>
<snapshotRepository>
<id>snapshots</id><!--这个ID需要与你的snapshots仓库的Repository ID一致-->
<url>http://192.168.1.11:8081/nexus/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>


  修改本地$MAVEN_HOME\conf目录下的settings.xml配置文件,添加如下配置

<servers>
<server>
<id>releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>


  在本地工程目录下执行:

mvn deploy


  所部署的包就自动上传到了nexus安装目录下的



  4.配置Maven从Nexus下载构件

    在POM中配置Nexus私服,这样的配置只对当前的Maven项目有效。

<!--指定Nexus的构件仓库-->
<repositories>
<repository>
<id>public</id>
<name>Team Maven Repository</name>
<url>http://192.168.1.11:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>

<!--指定Nexus的插件仓库-->
<pluginRepositories>
<pluginRepository>
<id>public</id>
<name>Team Maven Repository</name>
<url>http://192.168.1.11:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>


  在settings.xml中配置profile元素,这样就能让本机所有的Maven项目都使用自己的Maven私服。

<properties>
<repository>
<id>public</id>
<name>Team Maven Repository</name>
<url>http://192.168.1.11:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<layout>default</layout>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</properties>


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: