打包时如何把本地jar包依赖也打进项目war包里

》描述:已知下面是引用本地jar包依赖进项目的一种方式,但是这样只在本地运行有用,并不能将本地jar包打进项目war里面

bash 复制代码
<scope>system</scope>
<systemPath>${pom.basedir}/lib/xxx.jar</systemPath>

解决:这段代码放在 Maven 项目的 pom.xml 文件中。具体来说,它应该放在 <build> 标签内的 <plugins> 标签内的 <plugin> 标签内的 configuration 标签内

bash 复制代码
<webResources>
    <resource>
        <!-- 指向的是包含所有要用 jar 包的目录 -->
        <directory>${project.parent.basedir}/sys-common/pack_lib</directory>
        <!-- 编译后要把这些 jar 包复制到的位置【打包后处于war包下的位置】 -->
        <targetPath>WEB-INF/lib</targetPath>
        <includes>
            <include>**/*.jar</include>
        </includes>
    </resource>
</webResources>


${project.parent.basedir}:父模块(父项目)的根路径;【用于可能引用父模块下其它子模块的路径】
${project.basedir}: 当前模块(项目)的根路径;

<include>**/*.jar</include> 用于指定哪些文件应该被包含在构建过程中。
<includes> 标签用于定义一个包含模式的列表。每个 <include> 标签定义一个包含模式。
在这个例子中,'**/*.jar' 是一个包含模式。这个模式会匹配任何目录下的 .jar 文件。'**' 表示任何目录(包括嵌套的目录),'*.jar' 表示任何以 .jar 结尾的文件。


示例(pom.xml)文件下:
<project>
    ...
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.1.0</version> <!-- 请使用你需要的版本 -->
                <configuration>
                    <webResources>
                        <resource>
                            <directory>${project.parent.basedir}/sys-common/pack_lib</directory>
                            <targetPath>WEB-INF/lib</targetPath>
                            <includes>
                                <include>**/*.jar</include>
                            </includes>
                        </resource>
                    </webResources>
                </configuration>
            </plugin>
        </plugins>
    </build>
    ...
</project>
相关推荐
二哈赛车手3 小时前
新人笔记---ApiFox的一些常见使用出错
java·笔记·spring
栗子~~4 小时前
JAVA - 二层缓存设计(本地缓冲+redis缓冲+广播所有本地缓冲失效) demo
java·redis·缓存
YDS8294 小时前
DeepSeek RAG&MCP + Agent智能体项目 —— RAG知识库的搭建和接口实现
java·ai·springboot·agent·rag·deepseek
未若君雅裁5 小时前
MyBatis 一级缓存、二级缓存与清理机制
java·缓存·mybatis
AI人工智能+电脑小能手6 小时前
【大白话说Java面试题 第65题】【JVM篇】第25题:谈谈对 OOM 的认识
java·开发语言·jvm
阿维的博客日记6 小时前
Nacos 为什么能让配置动态生效?(涉及 @RefreshScope 注解)
java·spring
雨辰AI6 小时前
SpringBoot3 + 人大金仓读写分离 + 分库分表 + 集群高可用 全栈实战
java·数据库·mysql·政务
辰海Coding8 小时前
MiniSpring框架学习-完成的 IoC 容器
java·spring boot·学习·架构
小小编程路8 小时前
C++ 多线程与并发
java·jvm·c++
AI视觉网奇8 小时前
linux 检索库 判断库是否支持
java·linux·服务器