Java项目maven打包,打jar包中不包含项目引用第三方jar包,以及打war包不能将其放到lib的问题

       在使用maven进行打包项目中,想要将第三方的jar包放入,有两种方法:一种将jar包上传到maven库中,第二种再pom.xml中进行配置,第三种 情况是需要打包成war包放入tomcat中;具体如下:

第一种:安装第三方jar包到maven库


1. 安装maven
1、下载mvn到本地,解压。

2、新建系统变量MAVEN_HOME,值指向安装目录如D:\apache-maven-3.3.6

3、path变量中增加:%MAVEN_HOME%\bin;

4、在MAVEN_HOME/conf/setting.xml中的<localRepository>标签可修改仓库位置(默认位置在C盘的用户下),如<localRepository>D:\software\repository</localRepository>

5、验证,cmd下输入命令查看安装是否成功(需要先安装好JDK):mvn -version

6、安装本地jar到仓库


安装命令:

mvn install:install-file -Dfile=jar包的位置 -DgroupId=上面的groupId -DartifactId=上面的artifactId -Dversion=上面的version -Dpackaging=jar

例如:

mvn install:install-file -Dfile=D:\lib\test-1.0.5.jar.jar -DgroupId=test -DartifactId=test -Dversion=1.0.5 -Dpackaging=jar

将文件打到本地仓中(D:\software\repository路径下多出test文件夹,同时多出上面那个jar包)

在pom.xml文件中增加依赖项
<dependency>
    <groupId>test</groupId>
    <artifactId>test</artifactId>
    <version>1.0.5.</version>
</dependency>


第二种:修改pom.xml文件


 对于jar包

maven插件spring-boot-maven-plugin中添加配置<includeSystemScope>true</includeSystemScope>配置,如下:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <includeSystemScope>true</includeSystemScope>
            </configuration>
        </plugin>
    </plugins>
</build>


 然后,添加依赖项:

        <dependency>
            <groupId>com.gis</groupId>
            <artifactId>test</artifactId>
            <version>1.0.5</version>
            <scope>system</scope>
            <systemPath>${pom.basedir}/src/main/resources/lib/test-1.0.5.jar</systemPath>
        </dependency>

 打包后,在lib文件夹下,就会多出一个test-1.0.5.jar文件。

第三种:我们需要打成war包,直接放到tomcat中运行(正在用)

    war包打包后会生成一个WEB-INF/lib-provided的文件夹,访问时,会报错,因为tomcat是读取WEB-INF/lib里的jar包

需要添加maven-war-plugin插件,

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <webResources>
                        <resource>
                            <directory>src/main/resources/lib</directory>
                            <targetPath>WEB-INF/lib/</targetPath>
                            <includes>
                                <include>**.jar</include>
                            </includes>
                        </resource>
                    </webResources>
                </configuration>
            </plugin>


打war包后,仍然会有lib-provided文件夹,而我们需要在lib下存在第三方jar包,这个时候我们就需要在pom.xml 新增上面代码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/143850.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JDK11升级JDK17最全实践干货来了 | 京东云技术团队

1、前言 上篇文章给大家带来了JDK8升级JDK11的最全实践&#xff0c;相信大家阅读后已经对JDK11有了比较深入的了解。2021年9月14日&#xff0c;Oracle发布了可以长期支持的JDK17版本&#xff0c;那么从JDK11到JDK17&#xff0c;到底带来了哪些特性呢&#xff1f;亚毫秒级的ZGC…

全自动内衣洗衣机什么牌子好?家用迷你洗衣机推荐

内衣洗衣机是一种专为内衣、丝绸和其他精细衣物设计的家电&#xff0c;它们能够温柔地清洁和保护这些特殊材质的衣物。代替了传统的手洗&#xff0c;能够大大节约我们不少的宝贵时间。但在市场上&#xff0c;有各种型号和功能的内衣洗衣机&#xff0c;如何挑选到一款适合自己的…

壹基金爱泽瑞金 安全家园物料配送忙

11月9日到10日&#xff0c;瑞金赋能公益陆续收到壹基金、阿里巴巴公益爱心网友捐赠的社区志愿者救援队队伍物资&#xff0c;马不停蹄地把物资配送到河背街社区、金都社区和沙洲坝镇等项目点&#xff0c;扎实稳妥推进项目有序执行。 在这次物资配送中&#xff0c;志愿者冒雨前行…

中国首个通过ASIL D认证的IP发布,国产芯片供应商的机会来了

来自智能汽车的“芯”安全需求正在快速爆发。 一方面&#xff0c;随着智能汽车ADAS的快速迭代与逐渐普及化&#xff0c;以及越来越多元化智能座舱功能的快速上车&#xff0c;由此带来的车辆信息安全场景也在与日俱增&#xff0c;例如云端链接、设备身份认证、自动驾驶安全保障…

诚迈科技旗下智达诚远亮相2023世界新汽车技术合作生态展

11月10日-12日&#xff0c;2023世界新汽车技术合作生态展在昆山盛大举行&#xff0c;这是中国汽车产业史上首次真正以零部件为主体的新汽车供应链展。诚迈科技子公司智达诚远作为智能汽车操作系统领军企业&#xff0c;携引领跨域融合时代的峰昇操作系统FusionOS亮相大会&#x…

面试官:【webpack和vite的区别?vite一定比webpack快吗?vite的缺点是什么?webpack的热更新和vite的热更新区别?】

文章目录 前言前端工程化webpack的构建流程vite的构建流程webpack和vite的对比服务器启动区别热更新的区别底层代码实现的区别&#xff1f;总结 vite的缺点是什么&#xff1f;vite一定比webpack快吗?后言 前言 hello world欢迎来到前端的新世界 &#x1f61c;当前文章系列专栏…

第1关:简单查询

任务描述相关知识 检索数据表的内容编程要求测试说明 任务描述 本关任务&#xff1a; 用 SELECT 语句检索数据表中指定字段的数据&#xff1b; 用 SELECT 语句检索数据表中所有字段的数据。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a;1.如何获取数据表…

申请SSL证书常见问题

在申请SSL证书过程中&#xff0c;很可能会遇到一些问题&#xff0c;有些需要技术人员进行协助解决&#xff0c;而有些可能自己能解决了&#xff0c;那我们在申请SSL证书过程中到底会遇到哪些常见问题呢&#xff0c;一起来看看吧&#xff01; 1.申请SSL证书时需要注意什么吗&…

鼎捷PLM:引领国产替代,创造极致体验,探索数字化研发可行之路

目录 01 直击痛点&#xff0c;鼎捷PLM重塑研发价值链 02 从实际需求出发&#xff0c;支持创新研发 ① 正向的设计思维 ② 智能化的产品设计 ③ 支持大规模定制的设计 03 广域协同&#xff0c;全供应链快速响应研发 04 精益管理&#xff0c;研发体系化、企业低碳化 05 生…

12周年庆|一文回顾思迈特十二年大事记

白驹过隙&#xff0c;转眼思迈特软件迎来了十二岁生日&#x1f382; 在中华文化里&#xff0c;十二是一个轮回&#xff0c;十二寓意着圆满。圆满代表着一种从容、自信、充满能量的状态。 任何一种圆满的状态&#xff0c;都不是一蹴而就的&#xff0c;都曾经经历过千锤百炼的磨砺…

RocketMQ(4.9.4)学习笔记 - 安装部署

单机部署&#xff1a; 官网文档地址&#xff1a; https://rocketmq.apache.org/zh/docs/4.x 参考文档&#xff1a; windows安装RocketMQ_rocketmq windows_book多得的博客-CSDN博客 下载地址&#xff1a; https://archive.apache.org/dist/rocketmq/4.9.4/rocketmq-all-4.9.…

ESP32C3工程找不到蓝牙头文件解决方法

本次在我的工程里要加上蓝牙辅助配网功能的方法。 1、在官方SDK里找到例程并复制头文件和源文件到自己的工程中。 我复制到如下图所示&#xff0c;并增添app_blufi.h以供其它文件操作。并增添make文件。 其中CMakeLists.txt和component.mk如下 2、使能menuconfig里的蓝牙并使能…

RUST与Python对比分析

1 什么是Rust&#xff1f; Rust 是一种系统编程语言&#xff0c;注重安全性&#xff0c;尤其是并发安全性&#xff0c;支持函数式、命令式和泛型编程范式等多范式语言。Rust 在语法上与 C 类似&#xff0c;但设计者希望在保持性能的同时提供更好的内存安全性。Rust 最初是由 Mo…

SAP Query报表的简单使用

Query报表一般是顾问做的简单输出报表&#xff0c;适用于一些单表显示&#xff0c;或者简单的多表连接 相关的事务代码 SQ01 SQ02 SQ03 1.首先去SQ03建立你自己的用户组并分配 2.SQ02去建立你自己的信息集 这里可以用改描述 这里点击生成并保存 然后去点击用户组分配&#x…

【动态内存管理】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 1. 为什么要有动态内存分配 2. malloc和free 2.1 malloc 2.2 free 3. calloc和realloc 3.1 calloc 3.2 realloc 4.常见的动态内存的错误 4.1对NULL指针的解引用操作…

EasyHttp 更新功能 form类型post + 限制次数

场景 easyHttp gitte 很高兴帮到您 点一个star 支持一下作者吧 之前的easyHttp只支持json类型post请求&#xff0c;而且有些接口有限制次数的&#xff0c;在循环调用过程中&#xff0c;容易出现突破限制的情况&#xff0c;现在我们引入了限制次数&#xff0c;例如一分钟6次&…

JavaScript库:jQuery,简化编程

jQuery介绍 官方网站: https://jquery.com jQuery 是一个 JavaScript 库 。极大地简化了 JavaScript 编程&#xff0c;例如 JS 原生代码几十行 实现的功 能&#xff0c; jQuery 可能一两行就可以实现&#xff0c;因此得到前端程序猿广泛应用。&#xff08;现在处在比较边…

thinkPHP controller_suffix 使用方法

在‘config/route.php’配置’controller_suffix’ > true 后&#xff0c; 在controller里面所有的类都要添加Controller为后缀的名字。 在网页使用的时候不用输入Controller的后缀 访问方法,他默认自己带上controller后缀 这样做其实就为了规范controller类

我以前真的不知道独立站还有这么多优点!怪不得他们挤破头也要做!!!

文章目录 1.前言 2.了解独立站 3.独立站的优势有哪些 4.独立站的劣势有哪些 5.新手做独立站需要准备的材料和成本 6.总结 1. 前 言 随着线上购物的日益激烈&#xff0c;独立站成了许多卖家的首选&#xff0c;眼下独立站已经成为出海卖家的标配。 你是不是真的了解“独…

istio学习笔记-安装

Istioldie 1.18 / 安装指南 基于Kubernetes的Istio的微服务架构需要安装以下组件&#xff1a; Istio控制平面组件&#xff1a;包括Istio-Pilot、Istio-Policy、Istio-Telemetry等。这些组件负责微服务的管理和配置&#xff0c;如流量管理、策略执行、遥测数据收集等。数据平面…