打包时如何把本地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>
相关推荐
程序员JerrySUN32 分钟前
[特殊字符] 深入理解 Linux 内核进程管理:架构、核心函数与调度机制
java·linux·架构
2302_8097983235 分钟前
【JavaWeb】Docker项目部署
java·运维·后端·青少年编程·docker·容器
网安INF1 小时前
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
java·web安全·网络安全·flink·漏洞
一叶知秋哈1 小时前
Java应用Flink CDC监听MySQL数据变动内容输出到控制台
java·mysql·flink
jackson凌1 小时前
【Java学习笔记】SringBuffer类(重点)
java·笔记·学习
sclibingqing1 小时前
SpringBoot项目接口集中测试方法及实现
java·spring boot·后端
程序员JerrySUN1 小时前
全面理解 Linux 内核性能问题:分类、实战与调优策略
java·linux·运维·服务器·单片机
糯米导航1 小时前
Java毕业设计:办公自动化系统的设计与实现
java·开发语言·课程设计
糯米导航1 小时前
Java毕业设计:WML信息查询与后端信息发布系统开发
java·开发语言·课程设计
米粉03052 小时前
深入剖析Nginx:从入门到高并发架构实战
java·运维·nginx·架构