由于第三方jar不在远程maven库上,又要实现远程服务器自动打包发布功能,当然远程服务器本地仓库也是没有要引入的第三方的jar,所以需要把本地引入的jar使用本地引入的方式,生成war时,直接打到war里。
pom【<dependencies>】节点添加本地jar
<dependency> <groupId>com.xxx.xxx</groupId> <artifactId>xx-xx-api</artifactId> <version>1.0-SNAPSHOT</version> <scope>system</scope> <systemPath>${basedir}/lib/xx-xx-api-1.0-SNAPSHOT.jar</systemPath> </dependency>
pom【<build><plugins><build/><plugins/>】添加以下
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.10</version> <executions> <execution> <id>copy-dependencies</id> <phase>compile</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/lib</outputDirectory> <includeScope>system</includeScope> </configuration> </execution> </executions> </plugin>
scope说明:
1 2 3 4 5 6 | 总结来说: compile:默认的scope,运行期有效,需要打入包中。 provided:编译期有效,运行期不需要提供,不会打入包中。 runtime:编译不需要,在运行期有效,需要导入包中。(接口与实现分离) test:测试需要,不会打入包中。 system:非本地仓库引入、存在系统的某个路径下的jar。(一般不使用) |
你好世界!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话