Windows环境下使用Nexus 3.X 搭建Maven私服(含实例)

Windows环境下使用Nexus 3.X 搭建Maven私服

1.下载windows版本Nexus

在这里插入图片描述

2.将下载的Nexus解压

在这里插入图片描述

  nexus-3.16.2-01文件夹放的是nexus服务器相关的文件
  sonatype-work放的是nexus工作的数据文件,上传下载的jar包就在这个文件夹下面
  压缩包nexus-3.16.1-02\etc路径下的nexus-default.properties文件们是用来配置访问端口的,默认8081端口

3.安装Nexus服务

  命令提示符中进去C:\web_soft\nexus\nexus-3.16.1-02\bin文件夹

  如果不安装服务是没有办法启动的. 如果有你可以告诉我, 我会更新我的文章内容.
  使用命令: nexus.exe /install nexus3
  如果你使用的 Windows PowerShell 请在exe前加上 .\ 执行的命令是: .\nexus.exe /install nexus3
  可能会出现的错误: could not open SCManager 这个是因为没有使用管理员身份启动cmd, 使用管理员启动即可.

4.启动Nexus

  1.第一种方式在任务管理器,启动nexus3服务
在这里插入图片描述

  2.第二种方式使用命令: nexus.exe /start
  启动成功之后, 可以使用以下域名访问:http://localhost:8081
  默认用户名/密码: admin admin123
  可能会出现的错误: Could not start service. Error code: 1060 如果出现这个错误就把启动命令改为: nexus.exe /run

5.使用nexus3要搭建maven私服
5.1 仓库介绍

在这里插入图片描述

  【代理资源库】:就是配置了外网的maven远程仓库地址的资源库,本地找不到,就会通过代理资源库中的地址,找到远程仓库,从远程仓库中下载所需要的jar。

  【托管资源库】:就是放在本地的资源库,零零散散的jar,从远程仓库( central repository )中下不到,只能自己在网上找,找到jar下载下来,放在托管资源库中,交给nexus统一管理。不然哪天想去用连接数据库的jar包,还得自己翻磁盘,多麻烦。

  【组资源库】 :组资源库中并没有jar包,而是把代理资源库和托管资源库统一配置到组资源库中,然后组资源库作为一个唯一的public提供给所有人使用。就像工人1+工人2把自己的账单统一给包工头,让包工头去跟老板结账是一个道理。

5.1 创建文件存储目录

  在创建 repository之前,还是需要先设定一个指定的文件存储目录,便于统一管理
在这里插入图片描述

在这里插入图片描述

5.2 创建代理资源库

阿里云的maven中央仓库地址:http://maven.aliyun.com/nexus/content/groups/public/
默认远程Maven地址:https://repo1.maven.org/maven2/
在这里插入图片描述

5.3 创建托管资源库

  创建hosted repository 托管资源库
  Hosted有三种方式,Releases、SNAPSHOT、Mixed
  Releases: 一般是已经发布的Jar包
  Snapshot: 未发布的版本
  Mixed:混合的

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5.3 创建组资源库

在这里插入图片描述

在这里插入图片描述

  希望将hosted repositories【托管资源库】的顺序放在proxy repositories【代理资源库】之前,因为一个group【组资源库】中可以涵括这些托管资源库和代理资源库。而一整个的group是作为一个public,一个接口给别人使用的。所以当查找架包的时候,如果代理资源库在前面,那就是先从远程去查找jar,而不是先从托管资源库(本地仓库)去查找是否有jar。这样访问外网的消耗比起来在本地查找,当然是将托管资源库放在代理资源库之前的优先位置了

5.3 在maven中配置私服,编辑setting.xml

  Maven的中央仓库地址默认是:https://repo.maven.apache.org/maven2/,可以通过修改settings.xml文件来修改默认的中央仓库地址:

<?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  	<localRepository>C:/shwz_data/repository</localRepository>
	<interactiveMode>true</interactiveMode>
    <offline>false</offline>
	<!--配置权限,使用默认用户-->
	<servers>
		<server>
		    <!--这是server的id(注意不是用户登陆的id),该id与repository元素的id相匹配。 -->
			<id>nexus-releases</id>
			<username>admin</username>
			<password>admin123</password>
		</server>
		<server> 
			<id>nexus-snapshots</id>
			<username>admin</username>
			<password>admin123</password>
		</server>
		<server> 
			<id>nexus-proxy</id>
			<username>admin</username>
			<password>admin123</password>
		</server>
		<server> 
			<id>nexus-group</id>
			<username>admin</username>
			<password>admin123</password>
		</server>
	</servers>
	<mirrors>
		<!--阿里云镜像-->
		<mirror>  
	      <id>alimaven</id>  
	      <name>aliyun maven</name>  
	      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
	      <mirrorOf>central</mirrorOf>          
	    </mirror>
    </mirrors>

	
	<profiles>
		<profile>
		   <id>nexus</id>
			    <activation>
			     <activeByDefault>true</activeByDefault>
				 <jdk>1.8</jdk>
			    </activation>
			    <repositories>
					<!-- 私有库地址-->
				    <repository>
						<id>nexus-group</id>
						<url>http://localhost:8081/repository/nexus-group/</url>
						<!-- <releases><enabled>true</enabled></releases>告诉Maven可以从这个仓库下载releases版本的构件-->
						<releases>
							<enabled>true</enabled>
						</releases>
						<snapshots>
							<enabled>true</enabled>
						</snapshots>
					</repository>
					
					
					
				</repositories>      
				<pluginRepositories>
					<!--插件库地址-->
					<!-- 如果是配置了repositories,那么你会发现在mvn在下载依赖的时候,一部分从阿里云下载,一部分还是从默认的仓库(https://repo.maven.apache.org )下载-->
					<pluginRepository>
						<id>nexus-group</id>
						<url>http://localhost:8081/repository/nexus-group/</url>
					
						<releases>
							<enabled>true</enabled>
						</releases>
						<snapshots>
							<enabled>true</enabled>
					   </snapshots>
					</pluginRepository>
				</pluginRepositories>
			</profile>

			<profile>
		     <id>jdk-1.8</id>
			 <activation>
			     <activeByDefault>true</activeByDefault>
				 <jdk>1.8</jdk>
			 </activation>
			 <properties>
			     <maven.compiler.source>1.8</maven.compiler.source>
				 <maven.compiler.target>1.8</maven.compiler.target>
				 <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
			 </properties>
		</profile>
	</profiles>
	
	<!--激活profile-->
	<activeProfiles>
	<!--将所有repositories以及pluginRepositories元素放到这个profile中,然后,使用<activeProfiles>元素自动激活该profile。这样,你就不用再为每个POM重复配置仓库-->
		<activeProfile>nexus</activeProfile>
		<activeProfile>jdk-1.8</activeProfile>  
	</activeProfiles>
</settings>



  查看私服地址:
在这里插入图片描述

5.4 本地jar发布到私服

  在maven的setting.xml文件配置账号和密码

<servers>
		<server>
		    <!--这是server的id(注意不是用户登陆的id),该id与repository元素的id相匹配。 -->
			<id>nexus-releases</id>
			<username>admin</username>
			<password>admin123</password>
		</server>
		<server> 
			<id>nexus-snapshots</id>
			<username>admin</username>
			<password>admin123</password>
		</server>
		<server> 
			<id>nexus-proxy</id>
			<username>admin</username>
			<password>admin123</password>
		</server>
		<server> 
			<id>nexus-group</id>
			<username>admin</username>
			<password>admin123</password>
		</server>
	</servers>

  在你项目(这个项目就是你准备发布的jar)pom.xml中增加一段这样的代码

   <distributionManagement>
        <repository>
            <id>nexus-releases</id>
            <name>Releases</name>
            <url>http://localhost:8081/repository/shwz-releases/</url>
        </repository>
        <snapshotRepository>
            <id>nexus-snapshots</id>
            <name>Snapshots</name>
            <url>http://localhost:8081/repository/nexus-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

  测试发布,deploy发布
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建Maven可以使用Sonatype Nexus,它是一个功能强大的仓库管理器,可以帮助我们创建和管理Maven。下面是基于Nexus搭建Maven的详细步骤: 1. 准备环境:首先,确保你已经安装了Java环境,并且可以正常运行MavenNexus软件。 2. 下载和解压缩Nexus软件:从Sonatype官方网站下载最新版本的Nexus软件,并解压缩到合适的目录中。 3. 启动Nexus使用命令行窗口进入Nexus软件的目录,然后执行 `./bin/nexus start` 命令来启动Nexus务器。 4. 访问Nexus控制台:在浏览器中输入 `http://localhost:8081` 访问Nexus控制台,默认用户名和密码都是 `admin`,登录成功后,可以看到Nexus的管理界面。 5. 创建Maven仓库:在Nexus控制台中,点击左侧菜单的 `Repositories`,然后点击 `Create repository` 来创建新的Maven仓库。根据需要选择 `Hosted repository` 或者 `Proxy repository`,然后填写相应的配置信息,如仓库名称、URL、布局等。 6. 配置Maven项目:在你的Maven项目的pom.xml文件中添加Nexus的配置信息,包括ID、URL等,用来指定将Maven构建输出部署到Nexus仓库中。 7. 部署和使用使用 `mvn deploy` 命令将项目打包并部署到Nexus中,当其他开发人员或者CI/CD务器需要下载依赖时,只需要修改项目的settings.xml文件,指定Nexus的URL和凭据即可。 8. 其他设置:你还可以在Nexus控制台里进行其他设置,比如用户管理、访问控制、仓库代理等。 总结一下,使用Nexus搭建Maven非常简单,只需要几个基本的步骤即可完成。通过搭建Maven,我们可以有效地管理和共享项目的依赖包,提升团队的开发效率和项目的可维护性。这对于生产环境中的项目非常重要。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值