Maven
1. 使用非中央仓库的第三方jar包
A. 直接依赖本地的jar包
第一步:建立文件夹 src/main/resources/lib;
第二步:
<dependency> <groupId>com.ruhuanxingyun.test</groupId> <artifactId>test-plugin</artifactId> <version>1.0.0</version> <scope>system</scope> <systemPath>${basedir}/src/main/resources/lib/test-plugin-1.0.0.jar</systemPath> </dependency>
B. 打包到本地仓库
mvn install:install-file -Dfile=test-plugin-1.0.0.jar -DgroupId=com.ruhuanxingyun.test -DartifactId=test-plugin -Dversion=1.0-SNAPSHOT -Dpackaging=jar
-Dmaven.repo.local:指定仓库目录根位置,适合本机上包含多个仓库;
-Dfile:依赖文件位置;
-DgroupId:pom.xml中groupId;
-DartifactId:pom.xml中artifactId;
-Dversion:pom.xml中version;
-Dpackaging:jar或war,包的后缀名;
2. scope含义
A. compile:编译范围,也是默认的范围,编译范围依赖在所有的classpath 中可用,同时它们也会被打包;
B. provided:已提供范围,只有在当JDK 或者一个容器已提供该依赖之后才使用;
C. runtime:运行时范围,在运行和测试系统的时候需要,但在编译的时候不需要;
D. test:测试范围,在一般的编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用;
E. system:系统范围,显式的提供一个对于本地系统中JAR 文件的路径,同时提供一个systemPath元素。
3. 依赖
A. depencyManagement和dependencies标签区别
depencyManagement:一般用在父pom.xml文件中,他只声明依赖,并不实现引入,子项目要用,必须引入,无需指定version和scope,这个会从父项目继承下来;
dependencies:声明在dependencies里的依赖都会被自动引入,并默认被所有的子项目继承。
可参考:查看jar包的依赖关系
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗