私服Nexus搭建以及拉取上传依赖

本文讲述了在企业内网环境下部署Nexus私服以解决Java程序无法加载外网依赖的问题,包括下载Nexus、启动服务、配置Maven和npm以指向私服仓库,以及上传jar包和依赖的详细步骤。
摘要由CSDN通过智能技术生成

 在Maven中拉依赖一般是本地仓库,如果本地仓库没有就会查看私服,还是没有就会去中央仓库

而对于企业级的开发中,一部分是内网环境,对于内网环境而言,我们的Java程序加载不了外网的依赖,公司就需要我们搭建nexus私服 ,今天就实现以下如何在私服上拉取依赖

1.下载nexus(一些现成的项目nexus里面包含所有的依赖,可以直接U盘拉下来)

2a57977ff87d4ab488dda7ab554c180c.png

2.启动nexus

c9e3b3b0b068479b9780b1b5e19f6620.png

点击第一个

6e015ece12494563b17af6243372c58e.png

 点击bin

2778052e141942c0ab207078bd9ee0f5.png

cmd到命令行

输入nexus.exe /run命令

开启

3.进入本地的8081端口

127.0.0.1:8081(应为没网络而localhost需要联网) 

b0d329cfda914c7fa786dfd37ddd067b.png

点击sign in进行登录

初始用户名:admin密码:admin123

1d0361929f264faf83e138f532e15657.png

点击设置进入

af7ce18ebacd49569307cabcd7d87797.png

一下就是许多桶装依赖

36856c0a77e347f4abe89282a893909b.png

一般都是后缀为public的总结,详细请看对于的文档

maven-public是maven依赖,npm-public是Vue依赖

这边补充一下:Vue的话加入.npmrc文件,写入以下代码拉取依赖

shamefully-hoist=true
registry=http://127.0.0.1:8081/repository/npm-public/

解释如下

shamefully-hoist=true:
这是npm的一项配置,通常用于处理依赖关系管理;shamefully-hoist 是一个实验性特性,用于将依赖项提升到更高级别的节点;这可以减少依赖树的深度,从而加速包的安装和减小磁盘占用;
默认情况下,npm会尝试以递归方式安装依赖项,这可能会导致深层次的依赖关系,使得包的安装和构建变得缓慢;shamefully-hoist 允许将依赖项提升到更高级别的目录,以减少这种深度;

registry=http://127.0.0.1:8081/repository/npm-public/:
这是指定npm包注册表(registry)的URL;npm包注册表是存储和分发Node.js包的远程服务器或本地仓库;
在这里,http://127.0.0.1:8081/repository/npm-public/ 是一个自定义的npm包注册表地址,通常情况下,这是一个本地或私有的npm注册表,用于存储自定义或内部使用的包,而不是公共npm注册表(https://registry.npmjs.org/);

综合起来,这两个配置选项一起使用,可以用于在本地或私有环境中配置npm,以加速依赖项的安装,并指定自定义的npm包注册表地址,以便在这个注册表中查找和下载包;

使用命令拉取(如果本地有node_modules那就不需要拉)就可以了

npm install

继续maven,之后点进去

70760cbf7e7b4cd5b373fe257dffd242.png

在你的maven配置加上上图URL即可,下面Avaliable是管理的别的桶

点击maven的conf文件打开seting.xml

加上

<server> <!--身份验证配置用于登录nexus-->
        <id>nexus-public</id> <!-- nexus的认证id -->
        <username>admin</username> <!--nexus中的用户名-->
        <password>admin123</password> <!--nexus中的密码-->
</server>

<mirror> <!--定义一个Maven镜像-->
      <id>nexus-public</id><!-- 这个id必须与上面登录nexus的id相等 -->
      <mirrorOf>*</mirrorOf><!-- * 是通配符,表示匹配所有的仓库-->
      <url>http://127.0.0.1:8081/repository/maven-pubblic/</url> 
      <!--  这个是nexus的对应仓库url-->
</mirror>

拉取对应私服仓库

错误1:无网记得把localhost改成127.0.0.1了,不然可能拉不到依赖
错误2:如果出现cannot access nexus (仓库地址)

记得把脱机工作去掉

也可以在pom.xml中修改,代码为

<?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>com.nexus</groupId>
  <artifactId>nexus-maven</artifactId>
  <version>1.0-SNAPSHOT</version>
 
  <name>nexus-maven Maven Webapp</name>
 
  <dependencies>
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.62</version>
    </dependency>
  </dependencies>
 
  <repositories>
    <repository>
      <id>maven-nexus</id>
      <url>http://127.0.0.1:8081/repository/maven-public/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>
 
  <!--该配置是为了防止pom中的jar包从私服下载之后,但是执行mvn中从插件还是从中央仓库中下载-->
  <pluginRepositories>
    <pluginRepository>
      <id>maven-nexus</id>
      <url>http://127.0.0.1:8081/repository/maven-public/</url>
    </pluginRepository>
  </pluginRepositories>

</project>

如果要上传私服

java项目maven文件仓库,seting文件配置如下:

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

 pom.xml配置文件

  <distributionManagement>
      <!--根据对应的version后缀选择对应的桶上传-->
        <repository>
            <id>nexus-releases</id>
            <name>maven-releases</name>
            <url>http://127.0.0.1:8081/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>nexus-snapshots</id>
            <name>maven-snapshots</name>
            <url>http://127.0.0.1:8081/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

也可以先打成jar包在命令上传

当然也可以点击鼠标Upload创建

1353424c4d3b43db9e8326231b17cd63.png

ok今天就分享就到这里了

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

大白猫~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值