Nexus 3 搭建私有maven仓库

一、安装并使用 Nexus 3

1:下载地址:https://help.sonatype.com/repomanager3/product-information/download

 Windows解压后:

2:进入/nexus-3.61.0-02/bin 目录下,并启动cmd命令打开命令窗口,并输入nexus /run  等待启动

3:启动完成之后默认请求地址:http://localhost:8081/

 默认账号密码:admin / admin123

 界面显示:

4:linux上的安装 

先下载linux的压缩包并上传到服务器中。配置文件位置都一样的。linux环境注意需要开放对应nexus的端口

start命令启动(后台进程形式)

./nexus start

浏览器访问Nexus的Web端首页,输入Linux服务器ip:8081

注意:不要用root用户启动nexus

 二、把Nexus 3 设置为系统服务,以便在Windows中启动

 1:还是在/nexus-3.61.0-02/bin 目录下,并启动cmd命令打开命令窗口,并输入nexus.exe /install nexus3 (命令提示符窗口需要以管理员方式打开,否则会报错,Windows7会出现这种情况)

 2:显示安装完成后 去控制面板 --> 管理工具 --> 服务中 查看 nexus3 的服务(默认是未启动的,需要将对应服务启动)

注意:服务启动过程需要一定时间,在浏览器中打开 http://localhost:8081/ 需要等待一定时间。

 三、配置nexus并熟悉对应文件夹的含义

1:文件结构

   nexus-3.5.2-01    安装目录


bin                                            包含nexus的启动脚本和相关配置

etc                                            jetty、karaf等配置文件

jre                                             jre环境

lib                                             java架包库

public                                             关于nexus应用在本地跑起来所需要的资源

system                                           应用所有的插件和组件

LICENSE.txt 和 NOTICE.txt    版权声明和法律细则


   sonatype-work\nexus3 数据文档

 blobs/       创建blob的默认路径,如果你指定了绝对路径,那就不在这里了

cache/       当前缓存的karaf包的信息

db/        OrientDB数据库的数据,用于存储nexus的元数据的数据库

elasticsearch /   当前配置的Elasticsearch状态

etc/        大概是运行时配置状态和关于资源库的自定义的相关的东西

health-check/     看目录,健康检查的相关报告的存储目录吧

keystores/     自动生成的关于资源库的ID主键

log/        运行实例生成的日志文件,也有日志文件的压缩包,貌似是每天都会生成日志文件,你可以定期删除老的日志文件

tmp/          用于存储临时文件的目录

2:nexus应用的JVM参数

3:可配置nexus启动的端口号,可以在 nexus-default.properties 中配置

application-port       端口号

application-host       请求地址

nexus-context-path   / 可更改为 /lkx/ 那么请求地址就是 http://localhost:8081/lkx/

 四、搭建maven私有仓库(重点)

1:自定义文件存储目录(方便统一管理)

 2:先介绍对应的结构目录(主要关注maven的资源库)

这些是我自己的理解

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

group      可以在这个组资源库中配置多个 proxy 与 hosted

hosted    就是放在本地的资源库,各种jar,从远程仓库中下不到,只能自己在网上找,找到jar下载下来,放在托管资源库中,交给nexus统一管理

3:proxy 代理资源库(以我阿里云的这个proxy来举例)

 

4:hosted 托管资源库

Hosted有三种方式,Releases、SNAPSHOT、Mixed
Releases: 一般是已经发布的Jar包
Snapshot: 未发布的版本
Mixed:混合的

 创建时选择 maven2(hosted)

部署更新策略改成 允许重新部署

 

5:group 组资源库

 创建时选择 maven2(group)

 

 

五、将maven项目打包到nexus私有仓库中

1:配置setting.xml文件

1、在servers中配置
    <server>
      <id>yizhuo-maven</id>  <!-- 自定义ID mirror需要使用 -->
      <username>admin</username>  <!-- nexus 的账号 -->
      <password>123456</password>   <!-- nexus 账号对应的密码 -->
    </server>
2、在mirrors中配置

   <mirror>   <!-- 最好在maven配置中加上阿里云镜像仓库(虽然yizhuo-maven仓库组中配置了阿里云的镜像,但是有时候还是会有一些依赖下载不下来) -->
      <id>yizhuo-maven</id>
      <mirrorOf>central</mirrorOf>
      <name>Nexus aliyun</name>
      <url>https://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror> 
    
    <mirror>
      <id>yizhuo-maven</id> <!-- 这里的id要与server里面的id对应,因为访问仓库也需要用户名密码 -->
      <mirrorOf>*</mirrorOf> <!-- *表示所有依赖,都会从这个仓库(私服)拉取 -->
      <url>http://localhost:8081/repository/yizhuo/</url> <!-- 仓库组(group)的url(仓库组右边copy) -->
    </mirror> 

2:在对应Maven项目中引用对应setting.xml文件,并配置pom推送jar到私有maven仓库配置

[1]: 配置setting

[2]: 配置pom推送jar到nexus的私有maven仓库
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.yizhuo</groupId>
    <artifactId>yz-core</artifactId>
    <version>1.0.13</version><!--对应jar包版本号-->

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <distributionManagement>
        <repository>
            <id>yizhuo-maven</id>
            <url>http://localhost:8081/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>yizhuo-maven</id>
            <url>http://localhost:8081/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

    <profiles>
        <profile>
            <id>disable-javadoc-doclint</id>
            <activation>
                <jdk>[1.8,)</jdk>
            </activation>
            <properties>
                <javadoc.opts>-Xdoclint:none</javadoc.opts>
            </properties>
        </profile>
    </profiles>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>2.10.4</version>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <phase>package</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                        <configuration>
                            <additionalparam>-Xdoclint:none</additionalparam>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <!--生成源码jar包 (可以把对应的注释一起打包上去) -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>


</project>
[3]: 使用idea工具打包推送

[4]: 在nexus中查看推送结果

[5]: 在其他项目中使用nexus中maven仓库中的jar包

项目setting文件先配置修改后的setting文件

在pom.xml文件的 dependences重配置引用maven

<dependency>
    <groupId>org.yizhuo</groupId>
    <artifactId>yz-core</artifactId>
    <version>1.0.12</version>
</dependency>

结果:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lin_XXiang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值