打包时如何把本地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>
相关推荐
不可求~9 分钟前
多模型路由怎么落地:把任务分流写进项目的最小实现
java·前端·数据库
mldong1 小时前
用 DDD 设计工作流引擎:聚合根与充血模型
java·架构
mqiqe2 小时前
AgentScope Java Harness:4. 双层记忆系统 让 Agent 拥有真正的“长期大脑“
java·开发语言
伍一512 小时前
03-文件管理模块-一个看似简单的模块藏着多少细节
java·ruoyi·若依
gugucoding2 小时前
46. 【Java】JUC并发工具:让并发更简单
java·开发语言
Nebula_g3 小时前
JavaSE基础语法:面向对象高级(代码中的成分)
java·开发语言·编程·javase·技术栈·高级语法
AC赳赳老秦3 小时前
公开图片 OCR 数据提取:OpenClaw 合规采集公开信息图,识别文字与表格并转化为结构化数据
java·大数据·前端·数据库·python·php·openclaw
小强库计算机毕业设计5 小时前
SpringBoot+Vue3 学生宿舍管理系统实战
java·spring boot·后端·vue·学生宿舍管理系统
李冰然5 小时前
深入Java集合框架:HashMap源码解析(JDK 8)
java
人道领域6 小时前
【0-1的agent进阶篇】RAG:从Embedding到检索增强生成的底层逻辑
java·embedding·agent·rag