打包时如何把本地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 分钟前
UDP Socket聊天室(Java)
java·网络协议·udp
kinlon.liu22 分钟前
零信任安全架构--持续验证
java·安全·安全架构·mfa·持续验证
王哲晓43 分钟前
Linux通过yum安装Docker
java·linux·docker
java6666688881 小时前
如何在Java中实现高效的对象映射:Dozer与MapStruct的比较与优化
java·开发语言
Violet永存1 小时前
源码分析:LinkedList
java·开发语言
执键行天涯1 小时前
【经验帖】JAVA中同方法,两次调用Mybatis,一次更新,一次查询,同一事务,第一次修改对第二次的可见性如何
java·数据库·mybatis
Jarlen1 小时前
将本地离线Jar包上传到Maven远程私库上,供项目编译使用
java·maven·jar
蓑 羽1 小时前
力扣438 找到字符串中所有字母异位词 Java版本
java·算法·leetcode
Reese_Cool1 小时前
【C语言二级考试】循环结构设计
android·java·c语言·开发语言