基于Window,Docker,IDEA实现安装Nexus,创建私有maven仓库和上传jar包到私有仓库

4 篇文章 1 订阅
2 篇文章 0 订阅

目录

问题现象:

问题分析:

1. 首先启动 docker / docker desktop,这里讲解基于 docker desktop 上的学习心得。

2. cmd窗口输入:

docker search nexus

3. 选择第一个,用的人最多的,输入:

docker pull sonatype/nexus3

4. 查看下载的镜像,输入:

docker images

5. 在本地创建文件夹 E:/nexus3/nexus-data ,再创建容器,配置自重启和映射路径并启动,输入:

docker run -it -p 8081:8081 --restart=always -v E:/nexus3/nexus-data:/nexus-data/ sonatype/nexus3

6. 登录 服务器ip:8081

7. 在服务器 E:\nexus3\nexus-data 下,会有一个 admin.password 文件,打开它,并复制其中的内容(不需要解码),将内容复制到Password,然后Username填的是 admin ,登录成功后会需要修改密码,和初始化配置。

翻译意思是:

8. 一般情况下选择 Enable anonymous access(启用匿名访问)即可。

配置结束:

9.创建私有仓库:

10.修改本地 maven 的配置文件 settings.xml:

11. 上传 .jar 依赖包 到创建好的私有仓库 thpower-bladex :


问题现象:

最近项目中需要在window服务器上搭建maven仓库,于是我就学习了这方面的知识。


问题分析:

1. 首先启动 docker / docker desktop,这里讲解基于 docker desktop 上的学习心得。

2. cmd窗口输入:

docker search nexus

3. 选择第一个,用的人最多的,输入:

docker pull sonatype/nexus3

4. 查看下载的镜像,输入:

docker images

5. 在本地创建文件夹 E:/nexus3/nexus-data ,再创建容器,配置自重启和映射路径并启动,输入:

docker run -it -p 8081:8081 --restart=always -v E:/nexus3/nexus-data:/nexus-data/ sonatype/nexus3

6. 登录 服务器ip:8081

7. 在服务器 E:\nexus3\nexus-data 下,会有一个 admin.password 文件,打开它,并复制其中的内容(不需要解码),将内容复制到Password,然后Username填的是 admin ,登录成功后会需要修改密码,和初始化配置。

翻译意思是:

8. 一般情况下选择 Enable anonymous access(启用匿名访问)即可。

配置结束:

9.创建私有仓库:

10.修改本地 maven 的配置文件 settings.xml:

添加以下代码到servers标签中:

<server> 
	<id>仓库名(如:thpower-bladex)</id> 
	<username>仓库账号(如admin)</username> 
	<password>仓库密码(如admin123)</password> 
</server> 

保存关闭settings.xml文件。

11. 上传 .jar 依赖包 到创建好的私有仓库 thpower-bladex :

11.1首先在需要上传.jar包的模块中的pom文件(项目全部jar包都要上传,则可以在项目最外层的pom.xml)中加入以下代码:

11.2 打开 IDEA 的 Terminal 窗口,输入以下命令:

mvn clean install deploy

假如出现以下红字报错

xxx 401 Unauthorized -> 

意思是服务认证出错(未认证,也就是未登录),有可能是因为本机的maven环境不止一个版本,请查看环境变量中的 MAVEN_HOME 变量配置的路径是否为 IDEA使用的版本,调整为相同版本后再尝试,应该就可以了。

假如出现以下红字报错:

则是因为如果在plugin中添加maven-jar-plugin插件之后,maven会运行两次maven-jar-plugin插件,第一次运行是打包当前工程的jar,第二次运行是执行在plugin中设置的jar,这样的话会生成两个同名jar包,这里就要用到 classifier 这个属性了。classifier 是用来标识不同的jar包的名称的一个分类符,这个属性的值会添加到工程jar包的名称后面。

在pom.xml中的plugins标签中加入以下代码:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>3.1.0</version>
    <executions>
        <execution>
            <id>service-jar</id>
            <phase>package</phase>
            <goals>
                <goal>jar</goal>
            </goals>
            <configuration>
                <classifier>bak</classifier> <!-- 生成deploy-0.0.1-SNAPSHOT-bak.jar -->
                <classesDirectory>${project.build.directory}/此处写入报错的project名/</classesDirectory>
            </configuration>
        </execution>
    </executions>
</plugin>

11.3 如果加上了还不能解决,估计是因为打包命令缺乏必要参数的原因,把上一步加的插件去掉,然后使用IDEA自带的打包工具,简单方便又快捷:

11.4 到nexus私有仓库查看已上传的依赖包:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值