maven * 搭建与使用教程
作者:雙湖之梦 发布时间:2022-05-09 06:23:56
概述
在使用maven进行Java项目的开发过程中,难免会有些公共的私有库,这些库是不太方便放到中央仓库的,可以通过Nexus搭建一个私有仓库。
Nexus部署
下载安装包
通过下载安装包nexus-3.47.1-01-unix.tar.gz。
安装
解压安装包
Nexus安装非常简单,只需要解压就可以了。假设安装目录为/opt/software/nexus
tar zxvf nexus-3.47.1-01-unix.tar.gz
解压之后,在/opt/software/nexus
目录下,有2个目录:
nexus-3.47.1-01:程序目录,包含了 nexus运行需要的组件;
sonatype-work:数据目录,包含了 nexus 管理的所有存储库、组件和其他数据。
启动程序
执行如下命令,启动nexus:
nexus-3.47.1-01/bin/nexus start
启动之后,就可以使用。默认访问地址为:http://localhost:8081/
安装问题集锦
找不到jdk
执行启动命令,找不到jdk。
No suitable Java Virtual Machine could be found on your system.
The version of the JVM must be 1.8.
Please define INSTALL4J_JAVA_HOME to point to a suitable JVM.
由于Nexus只支持Java8,如果机器上的JDK版本高于8,则需要另外安装下Java8,并通过配置环境变量INSTALL4J_JAVA_HOME
来解决。环境变量如下:
# INSTALL4J_JAVA_HOME是Java8的JAVA_HOME
export INSTALL4J_JAVA_HOME='/opt/jdk1.8.0_202'
启动后,8081端口打不开,无法访问
确认下,服务器是否开启了防火墙
默认密码
Nexus的默认密码放在${HOME}/sonatype-work/nexus/admin.password
文件里,我的就是/opt/software/nexus/sonatype-work/nexus/admin.password
,通过如下命令,拿到密码就可以登录了
cat /opt/software/nexus/sonatype-work/nexus/admin.password
使用
从 * 里下载Jar
在需要下载私包的pom文件内,配置 * 地址就可以了,具体如下:
<repositories>
<repository>
<!-- Maven 自带的中央仓库使用的Id为central 如果其他的仓库声明也是用该Id就会覆盖中央仓库的配置 -->
<id>raina-releases</id>
<layout>default</layout>
<name>releases</name>
<!-- 这里的IP改成具体服务器IP -->
<url>http://{$IP}:8081/nexus/content/repositories/releases</url>
</repository>
</repositories>
发布私包
配置Nexus密码
在Maven的settings.xml里(一般路径为:${MVN_HOME}/conf/settings.xml),添加如下配置:
<server>
<id>customNexus</id>
<username>admin</username>
<!-- admin的登录密码,使用默认密码登录后,会修改成自定义的密码 -->
<password>admin123</password>
</server>
pom.xml里添加仓库配置
在待发布的项目pom.xml添加如下配置:
<distributionManagement>
<repository>
<id>customNexus</id>
<name>custom Nexus Release Repository</name>
<!-- 这里的IP改成具体服务器IP -->
<url>http://{$IP}:8081/repository/maven-releases/</url>
<layout>default</layout>
</repository>
</distributionManagement>
发布
执行如下命令,则可以将私包发布到 * 了:
mvn clean deploy
发布问题
如果包无法delopy,可以修改仓库策略:
来源:https://blog.csdn.net/shuanghujushi/article/details/129559239
猜你喜欢
- 本文实例为大家分享了java实现简单年龄计算器的具体代码,供大家参考,具体内容如下制作一个如下图年龄计算器根据题目,我做了一个由Calend
- 在 C# 以二进制形式读取数据时使用的是 BinaryReader 类。BinaryReader 类中提供的构造方法有 3 种,具体的语法形
- 前言很多时候,当你以为掌握了事实真相的时间,如果你能再深入一点,你可能会发现另外一些真相。比如面向切面编程的最佳编程实践是AOP,AOP的主
- 要获取Java中的当前时间戳:Timestamp timestamp = new Timestamp(System.currentTimeM
- 茫茫人海千千万万,感谢这一秒你看到这里。希望我的面试题系列能对你的有所帮助!共勉!愿你在未来的日子,保持热爱,奔赴山海!Java基础知识(继
- 冒泡排序:就是按索引逐次比较相邻的两个元素,如果大于/小于(取决于需要升序排还是降序排),则置换,否则不做改变这样一轮下来,比较了n-1次,
- import java.util.List;/*** * 基本接口 * * @author xyq 
- 前言传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop、事物,这么做有两个缺点:1、如果所有的内容都配置在.xml
- 随着目前微信越来越火,所以研究微信的人也就越来越多,这不前一段时间,我们公司就让我做一个微信公众号中问卷调查发红包功能,经过一段时间的研究,
- 图片解析:1.生成字节码文件的过程可能产生编译时异常(checked),由字节码文件到在内存中加载、运行类此过程可能产生运行时异常(unch
- Atomikos是一个为Java平台提供增值服务的并且开源类事务管理器,如果将事务统一注册到Atomikos中,则可以统一管理。常用于后台管
- java 数据结构单链表的实现 单链表实现链表的打印及元素删除操作,链表的实现主要是next属性的定义,将一堆节点关
- 一、何为栈?栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称
- 安装hbase首先下载hbase的最新稳定版本 http://www.apache.org/dyn/closer.cgi/hbas
- 一、前言(吐槽+煽情+简介) &n
- 在页面提交到tomcat乱码 解决方法是在tomcat/conf/server.xml中进行配置以tomcat6.0.32为例,需将以下代码
- 一、Drools引擎简介1、基础简介Drools是一个基于java的规则引擎,开源的,可以将复杂多变的规则从硬编码中解放出来,以规则脚本的形
- Spring Cloud feign GET请求无法用实体传参代码如下:@FeignClient(name = "eureka-c
- Java序列化是将一个对象编码成一个字节流,反序列化将字节流编码转换成一个对象。 序列化是
- 简介说明本文用实例来介绍@Autowired解决循环依赖的原理。@Autowired是通过 * 缓存来解决循环依赖的。 除了@Aut