序
2022年是比较忙碌的一年,耽误了很多博客积累,这一年开始看的比写得多。后面也发现像原来一样的去写下来的成本太高。后面开始只做一些简记。即减少书写成本,也能巩固知识,提炼精华。
一 、Nexus下载
下载地址:
Nexus
我的是nexus-3.49.0-02版本
二、 Nexus安装
- 解压
tar -zxvf nexus-3.49.0-02-unix.tar.gz
- 启动
进入解压后的文件夹,进入bin包,找到启动项,命令
./nexus start
查看状态
./nexus status
如下显示就启动了
启动后,端口默认8081
然后通过访问该端口就可以进入了
http://xxx.xxx.xxx.xxx/8081 xxx部分代表ip地址
- 获取密码
由于我那个版本获取不到管理员密码,所以通过网上修改密码方式找回密码。
停止服务
./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文件夹中的数据库。路径以自己服务器上的路径为准。
连接成功后显示下图:
然后,在这里修改密码admin123
update user SET password="$shiro1$SHA-512$1024$NE+wqQq/TmjZMvfI7ENh/g==$V4yPw8T64UQ6GfJfxYq2hLsVrBY8D1v+bktfOxGdt4b/9BthpWPNUy/CBk6V9iA0nHpzYzJFWO8v/tZFtES8CA==" UPSERT WHERE id="admin"
最后启动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/</url>
</snapshotRepository>
<repository>
<id>my-releases</id>
<name>My releases</name>
<url>http://xxx.xxx.xxx.xxx:8081/repository/maven-releases/</url>
</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/</url>
<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>