当前位置: 首页 > backend >正文

tlias智能学习辅助系统--Maven 高级-私服介绍与资源上传下载

目录

1. 什么是 Maven 私服?

2. 私服基本原理

3. 配置 Maven 私服

4. 上传 Jar 到私服

5. 从私服下载依赖

6. 总结


1. 什么是 Maven 私服?

Maven 私服(Private Repository)是一个存放构件的仓库服务器,通常部署在公司或团队内部,用来:

  • 缓存中央仓库资源,节省下载时间,减少外网依赖

  • 保存公司内部的私有构件(不能公开到中央仓库)

  • 提高构建速度与安全性

常见私服软件:

  • Nexus Repository Manager(最常用)

  • Apache Archiva

  • JFrog Artifactory


2. 私服基本原理

Maven 获取依赖的顺序:

  1. 本地仓库

  2. 私服(如 Nexus)

  3. 中央仓库

私服不仅能下载依赖,还能上传自己的 Jar 包,供团队内部使用。


3. 配置 Maven 私服

文件名:~/.m2/settings.xml
语言类型:XML(复制直接可用)

<settings><!-- 私服认证信息 --><servers><server><id>maven-releases</id><username>admin</username><password>admin123</password></server><server><id>maven-snapshots</id><username>admin</username><password>admin123</password></server></servers><!-- 镜像配置(让所有请求走私服) --><mirrors><mirror><id>nexus-mirror</id><mirrorOf>*</mirrorOf><url>http://localhost:8081/repository/maven-public/</url></mirror></mirrors>
</settings>

4. 上传 Jar 到私服

文件名:pom.xml
语言类型:XML

<project><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>demo-lib</artifactId><version>1.0.0</version><packaging>jar</packaging><distributionManagement><repository><id>maven-releases</id><url>http://localhost:8081/repository/maven-releases/</url></repository><snapshotRepository><id>maven-snapshots</id><url>http://localhost:8081/repository/maven-snapshots/</url></snapshotRepository></distributionManagement>
</project>

Java 示例文件:src/main/java/com/example/HelloLib.java
语言类型:Java

package com.example;public class HelloLib {public static String sayHello(String name) {return "Hello, " + name + "!";}
}

上传命令:

mvn clean deploy

运行后 Maven 会把 jar 上传到 Nexus 私服的对应仓库。


5. 从私服下载依赖

文件名:pom.xml(另一个项目用来依赖上面的 Jar)
语言类型:XML

<project><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>demo-app</artifactId><version>1.0.0</version><dependencies><dependency><groupId>com.example</groupId><artifactId>demo-lib</artifactId><version>1.0.0</version></dependency></dependencies>
</project>

Java 示例文件:src/main/java/com/example/App.java
语言类型:Java

package com.example;public class App {public static void main(String[] args) {System.out.println(HelloLib.sayHello("Maven Private Repo"));}
}

运行:

mvn clean package
java -cp target/demo-app-1.0.0.jar com.example.App

输出结果:

Hello, Maven Private Repo!

6. 总结

  • 私服作用:缓存依赖 + 上传私有构件

  • 关键配置

    • settings.xml:账号、密码、镜像

    • pom.xmldistributionManagement 上传地址

  • 命令

    • 上传:mvn clean deploy

    • 使用:添加依赖 + 构建运行


http://www.xdnf.cn/news/17752.html

相关文章:

  • 反射在Spring IOC容器中的应用——动态创建Bean (补充)
  • Elasticsearch RBAC 配置:打造多租户环境的安全访问控制
  • CMake语法与Bash语法的区别
  • CV 医学影像分类、分割、目标检测,之【3D肝脏分割】项目拆解
  • 图论Day2学习心得
  • YouBallin正式上线:用Web3重塑创作者经济
  • 强化学习进化之路(GRPO->DAPO->Dr.GRPO->CISPO->GSPO)
  • 自由学习记录(84)
  • 回归算法:驱动酒店智能化定价与自动化运营的引擎—仙盟创梦IDE
  • STL容器详解:Vector高效使用指南
  • 机器学习(一)
  • [论文阅读] 人工智能 + 软件工程 | 从模糊到精准:模块化LLM agents(REQINONE)如何重塑SRS生成
  • 给电脑升级内存,自检太慢,以为出错
  • HTTPS 工作原理
  • 「iOS」————设计架构
  • Vue3 图片懒加载指令
  • 第4节 神经网络从公式简化到卷积神经网络(CNN)的进化之路
  • AI增强SEO关键词表现
  • 预训练模型在机器翻译中的应用:迁移学习的优势详解
  • 举例说明环境变量及 PATH 的作用
  • RuoYi-Vue3-FastAPI框架的功能实现(中)
  • 计算机网络技术学习-day1《网络乾坤:从比特洪流到协议星河的奇幻之旅》​
  • Dynamsoft Capture Vision Crack
  • 反射的详解
  • Vue3 vs Vue2:全面对比与面试宝典
  • BM25:概率检索框架下的经典相关性评分算法
  • 单例模式的理解
  • Windows11 运行IsaacSim GPU Vulkan崩溃
  • FluxApi - 使用Spring进行调用Flux接口
  • 《Foundations and Recent Trends in Multimodal Mobile Agents: A Survey》论文精读笔记