centos6 安装nexus3

文章目录

  • 一、下载安装包
  • 二、解压安装包
  • 三、开启防火墙
  • 四、启动
  • 五、访问
  • 六、创建自己的镜像代理仓库(中央仓库)
  • 七、Maven打包上传
  • 八、引用私服中的jar包,需要配置如下

一、下载安装包

去nexus官网下载最新的nexus3版本,地址:
nexus官方下载地址

不需要下载到自己的客户机上,直接在服务器里面用wget下载更快
nexus需要验证
centos6 安装nexus3_第1张图片

点击之后,在下载里面拷贝下载链接
centos6 安装nexus3_第2张图片

cd /home/download
wget https://sonatype-download.global.ssl.fastly.net/repository/repositoryManager/3/nexus-3.14.0-04-unix.tar.gz

二、解压安装包

tar -zxvf nexus-3.14.0-04-unix.tar.gz
mv nexus-3.14.0-04 /usr/local/nexus3

三、开启防火墙

[root@localhost etc]# firewall-cmd --zone=public --add-port=8081/tcp --permanent
[root@localhost etc]# firewall-cmd --reload

四、启动

cd /usr/local/nexus3
./bin/nexus start

五、访问

http://serveraddress:8081

默认账户密码:
admin/admin123

centos6 安装nexus3_第3张图片

六、创建自己的镜像代理仓库(中央仓库)

点击Nexus“Log in”,输入默认用户名(admin)和默认密码(admin123)登录。可以点击上面的“设置”图标,在“设置”里可以添加用户、角色,对接LDAP等的设置

nexus里可以配置3种类型的仓库,分别是proxy、hosted、group

centos6 安装nexus3_第4张图片

proxy是远程仓库的代理。比如说在nexus中配置了一个central repository的proxy,当用户向这个proxy请求一个artifact,这个proxy就会先在本地查找,如果找不到的话,就会从远程仓库下载,然后返回给用户,相当于起到一个中转的作用

hosted是宿主仓库,用户可以把自己的一些构件,deploy到hosted中,也可以手工上传构件到hosted里。比如说oracle的驱动程序,ojdbc6.jar,在central repository是获取不到的,就需要手工上传到hosted里

group是仓库组,在maven里没有这个概念,是nexus特有的。目的是将上述多个仓库聚合,对用户暴露统一的地址,这样用户就不需要在pom中配置多个地址,只要统一配置group的地址就可以了

1、配置proxy仓库
centos6 安装nexus3_第5张图片

仓库访问地址填阿里云的仓库
http://maven.aliyun.com/nexus/content/groups/public/

他不是一次性将镜像仓库中的所有jar包都下到我们的nexus中存储,而是我们用到的时候,从阿里云镜像中下载,然后存在nexus中,下次就不用再去阿里云下载了。

测试:
修改maven的settings配置文件,配置镜像仓库和密码,不去默认的官方的中央仓库下载jar包

<servers>
		<server>
            <id>releasesid>
            <username>adminusername>
            <password>*****password>
        server>

		<server>
            <id>snapshotsid>
            <username>adminusername>
            <password>*****password>
        server>

	servers>
	
	<mirrors>
		<mirror>
			<id>nexusid>
			<mirrorOf>*mirrorOf>
			<url>http://nexus.*.top/repository/qinhe_maven_proxy/url>
		mirror>
	mirrors>

在一个maven项目中配置Maven的settings为我们修改过的配置文件,然后随便找一个maven的jar包
如下:

		
        <dependency>
            <groupId>com.twittergroupId>
            <artifactId>util-hashing_2.12artifactId>
            <version>18.10.0version>
        dependency>

引入成功,
centos6 安装nexus3_第6张图片

或者不用修改settings,直接在项目中pom修改

<repositories>
        <repository>
            <id>publicid>
            <name>publicname>
            <url>http://nexus.*.top/repository/qinhe_maven_proxy/url>
            <releases>
                <enabled>trueenabled>
            releases>
            <snapshots>
                <enabled>trueenabled>
            snapshots>
        repository>
    repositories>

七、Maven打包上传

用于jar包上传的私有仓库:host
配置如下:
RELEASE仓库:
centos6 安装nexus3_第7张图片

SNAPSHOT仓库:
centos6 安装nexus3_第8张图片

配置pom文件即可

3、配置私服,即

maven中的仓库分为两种,snapshot快照仓库和release发布仓库。snapshot快照仓库用于保存开发过程中的不稳定版 本,release正式仓库则是用来保存稳定的发行版本。定义一个组件/模块为快照版本,只需要在pom文件中在该模块的版本号后加上-SNAPSHOT即可(注意这里必须是大写)。release版本不允许修改,每次进行release版本修改,发布必须提升版本号。而snapshot一般是开发过程中的迭代版本,snapshot更新后,引用的项目可以不修改版本号自动下载构建。

我们知道,maven的依赖管理是基于版本管理的,对于发布状态的artifact,如果版本号相同,即使我们内部的镜像服务器上的组件比本地新,maven也不会主动下载的。如果我们在开发阶段都是基于正式发布版本来做依赖管理,那么遇到这个问题,就需要升级组件的版本号,可这样就明显不 符合要求和实际情况了。但是,如果是基于快照版本,那么问题就自热而然的解决了,而maven已经为我们准备好了这一切。

maven2会根据模块的版本号(pom文件中的version)中是否带有-SNAPSHOT来判断是快照版本还是正式版本。如果是快照版本,那么在 mvn deploy时会自动发布到快照版本库中,而使用快照版本的模块,在不更改版本号的情况下,直接编译打包时,maven会自动从镜像服务器上下载最新的快照版本。如果是正式发布版本,那么在mvn deploy时会自动发布到正式版本库中,而使用正式版本的模块,在不更改版本号的情况下,编译打包时如果本地已经存在该版本的模块则不会主动去镜像服务 器上下载。

所以,我们在开发阶段,可以将公用库的版本设置为快照版本,而被依赖组件则引用快照版本进行开发,在公用库的快照版本更新后,我们也不需要修改pom文件提示版本号来下载新的版本,直接mvn执行相关编译、打包命令即可重新下载最新的快照库了,从而也方便了我们进行开发,也不冲突MAVEN的版本管理原则。例如:

    
        com.xxx.yyy
        xxxxxxx
        1.0-SNAPSHOT
    

这里我们使用 IDEA 新建一个 Maven Project,命名为 utils,并在其中新建一个类,供我们后续测试使用。
配置 pom.xml:

<distributionManagement>
    <repository>
        <id>releasesid>
        <url>http://192.168.2.20:8081/repository/qinhe_maven/url>
    repository>
    <snapshotRepository>
        <id>snapshotsid>
        <url>http://192.168.2.20:8081/repository/qinhe_maven/url>
    snapshotRepository>
distributionManagement>

配置maven的 settings.xml:

<servers>
    <server>
        <id>releasesid>
        <username>userusername>
        <password>123456password>
    server>
    <server>
        <id>Snapshotsid>
        <username>userusername>
        <password>123456password>
    server>
servers>

八、引用私服中的jar包,需要配置如下

当私服里面没有这个jar包的时候才回去我们配置的镜像代理仓库中下载jar包
创建一个group仓库,把我们的镜像仓库、host仓库都加进去

centos6 安装nexus3_第9张图片

在 settings.xml 中添加如下配置即可:

<profiles>
	   <profile>
			<id>nexus_qinheid>
			<repositories>
					<repository>
						<id>nexus_publicid>
						<url>http://****/repository/qinhe_maven_group/url>
						<releases>
							<enabled>trueenabled>
						releases>
						<snapshots>
						<enabled>trueenabled>
					snapshots>    
				repository>
			repositories>
			<pluginRepositories>
				<pluginRepository>
					<id>nexus_publicid>
					<url>http://****/repository/qinhe_maven_group/url>
					<releases>
						<enabled>trueenabled>
					releases>
					<snapshots>
						<enabled>trueenabled>
					snapshots>
				 pluginRepository>
			pluginRepositories>
		profile>
	profiles>

  <activeProfiles>
    <activeProfile>nexus_qinheactiveProfile>
  activeProfiles>

你可能感兴趣的:(互联网技术)