Maven + Nexus 私有仓库搭建 + 项目推送 + 其他项目拉取(简记)

2022年是比较忙碌的一年,耽误了很多博客积累,这一年开始看的比写得多。后面也发现像原来一样的去写下来的成本太高。后面开始只做一些简记。即减少书写成本,也能巩固知识,提炼精华。

一 、Nexus下载

下载地址:
Nexus

我的是nexus-3.49.0-02版本

二、 Nexus安装

  1. 解压
tar -zxvf nexus-3.49.0-02-unix.tar.gz
  1. 启动
    进入解压后的文件夹,进入bin包,找到启动项,命令
./nexus start

查看状态

./nexus status

如下显示就启动了

在这里插入图片描述
启动后,端口默认8081
然后通过访问该端口就可以进入了

http://xxx.xxx.xxx.xxx/8081  xxx部分代表ip地址
  1. 获取密码
    由于我那个版本获取不到管理员密码,所以通过网上修改密码方式找回密码。

停止服务

./nexus stop

找到安装包下的nexus-orient-console.jar并启动

java -jar ./lib/support/nexus-orient-console.jar

连接后会显示如下图所示
在这里插入图片描述
然后在这里面连接数据库

connect plocal:/www/nexus/sonatype-work/nexus3/db/security admin admin 注意

注意,我这里写的绝对路径,主要目的连接nexus启动后生成的sonatype-work文件夹中的数据库。路径以自己服务器上的路径为准。
连接成功后显示下图:
Maven + Nexus 私有仓库搭建 + 项目推送 + 其他项目拉取(简记)_第1张图片
然后,在这里修改密码admin123

update user SET password="$shiro1$SHA-512$1024$NE+wqQq/TmjZMvfI7ENh/g==$V4yPw8T64UQ6GfJfxYq2hLsVrBY8D1v+bktfOxGdt4b/9BthpWPNUy/CBk6V9iA0nHpzYzJFWO8v/tZFtES8CA==" UPSERT WHERE id="admin"

Maven + Nexus 私有仓库搭建 + 项目推送 + 其他项目拉取(简记)_第2张图片
最后启动nexus

./nexus start

三、 项目推送

项目写好后进行maven的pom配置

项目,其中,RELEASE后缀代表发行版

	<groupId>com.xxx</groupId>
    <artifactId>xxxx</artifactId>
    <version>1.0.0-RELEASE</version>
    <packaging>jar</packaging>

仓库推送地址, url是nexus仓库中的地址
	<distributionManagement>
		<snapshotRepository>
			<id>my-snapshots</id>
			<name>My snapshots</name>
			<url>http://xxx.xxx.xxx.xxx:8081/repository/maven-snapshots/
		</snapshotRepository>
		<repository>
			<id>my-releases</id>
			<name>My releases</name>
			<url>http://xxx.xxx.xxx.xxx:8081/repository/maven-releases/
		</repository>
	</distributionManagement>

然后配置maven的settings.xml,将私有仓库的账号密码配置进去。
这里的id和上面仓库推送的id要匹配,连接时才能找到账号密码。

	<server>
      <id>my-releases</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
    
	 <server>
      <id>my-snapshots</id>
       <username>admin</username>
      <password>admin123</password>
    </server>

如果出现了401

出现了401是连接账号密码错误,要么真错了,要么settings.xml没配上。我也出现过,发现是配到settings.xml的注释里面去了,要仔细。

最后执行推送命令

mvn clean deploy

四、 其他项目引用

maven的pom配置仓库地址

		<repository>
            <id>my-public</id>
            <url>http://xxx.xxx.xxx.xxx:8081/repository/maven-public/
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
            </snapshots>
        </repository>

然后就可以引入依赖了

		<dependency>
            <groupId>com.xxx</groupId>
    		<artifactId>xxxx</artifactId>
    		<version>1.0.0-RELEASE</version>
        </dependency>

结束

你可能感兴趣的:(maven)