SpringBoot打包成WAR包的时候把第三方jar包打到LIB文件夹下和把第三方jar包打入到SpringBoot jar包中
SpringBoot打包成WAR包的时候把第三方jar包打到LIB文件夹下和把第三方jar包打入到SpringBoot jar包中
- 首先我们应该知道我们把
SPRINGBOOT项目打包成WAR包和JAR包的时候分别需要何种插件
我们最常用的把springBoot打成jar包的插件是下面这样的一个插件,这是把我们的springBoot项目打包成为一个可执行jar的插件
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
- 把
springBoot项目打包成一个war包的插件是下面这样的一个插件
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
</pilugin>
这个时候我们需要知道如何把第三方JAR包引入到我们的项目中去,话不多说看下面的图片。
- 第三方jar包在项目中的目录结构,在
resources目录下建造一个lib目录,放入我们的第三方jar包。
在这里插入图片描述

- 把这个jar包 通过 在pom.xml中进行相应的配置让我们的项目可以找到这个第三方jar包 如下图所示: 在这里插入图片描述

这里1,2,3步骤随便自己进行填写 主要是scope和systemPath(用来指明这个第三方jar包的路径) 我们这里可以学习下scope的用法:
system这个意思代表这个jar包是由系统提供的,系统在本地运行编译的时候会把这个jar包编译在类路径下,但是打包的时候是不会进行打包的
provided这个意思表明这个
jar包是由jdk容器tomcate容器这些容器来提供的,比如我们最常见的servelet包,这个包tomcat服务器本身就是具有的,我们在打包的时候也不会把它打入进去runtime这个我们在
pom依赖中引入mysql驱动的jar包的时候,经常会进行一个标识,这个的作用是不会把它编译到类路径下,但是打包的时候会带上它。
我们通常使用类的反射来使用test一般我们在测试环境中使用被这个标识的包,也不会被打包
compile默认是这个,编译打包都会进行带入。
打WAR包需要我们在打WAR包插件中配置才可以带上第三方JAR包
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
<configuration>
<webResources>
<webResource>
<directory>${pom.basedir}/src/main/resources/lib/</directory>
<targetPath>WEB-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</webResource>
</webResources>
</configuration>
</plugin>
把项目中
lib目录下所有的jar包,打入到war包中lib文件夹下。打JAR包的时候需要我们在打JAR包的插件中配置 把第三方JAR包带入进去 如下图配置
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
总结:我们只需要晋中相应的打jar包和打war包插件就行了,配置来说更为简单。
SpringBoot打包成WAR包的时候把第三方jar包打到LIB文件夹下和把第三方jar包打入到SpringBoot jar包中的更多相关文章
- SpringBoot打包成war
关于SpringBoot打成jar包以及jar包如何在Linux持久运行,我在前面已经说过了,所以本次不再赘述. 关于SpringBoot打包成war,其实步骤特别简单,如下图所示(如果是jar,通常 ...
- spring-boot 打包成 war包发布
1.用maven打包成war包 2.将war包用zip方式打开,删除里面的tomcat-embed相关的4个包,删除spring-boot-tomcat包 3.将删除了tomcat相关嵌入包后的war ...
- springboot打包成war后部署项目出现异常 LifecycleException: Failed to start component
完整异常:org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].Sta ...
- SpringBoot 打包成war包,部署到tomcat
使用maven创建的springboot项目,默认是jar包,springboot还有自己带的tomcat.现在需要将项目打包,并部署到服务器tomcat下面. 1.修改pom.xml文件.将jar修 ...
- springboot打包成war,部署到tomcat无法访问的问题
如题:实在是太坑.平时本地测试觉得很方便,但是到了项目打包发布掉链子了. 如很多帖子一样: 首先springboot内嵌的tomcat,再依赖servlet-api,修改启动类继承SpringBoot ...
- SpringBoot 打包成war
1.修改pom.xml文件 <packaging>war</packaging> <properties> <project.build.sourceEnco ...
- 【spring boot】idea下springboot打包成jar包和war包,并且可以在外部tomcat下运行访问到(转)
转自:https://www.cnblogs.com/sxdcgaq8080/p/7727249.html 接着上一章走呗:http://www.cnblogs.com/sxdcgaq8080/p ...
- 【spring boot】6.idea下springboot打包成jar包和war包,并且可以在外部tomcat下运行访问到
接着上一章走呗:http://www.cnblogs.com/sxdcgaq8080/p/7712874.html 然后声明一点,下面打包的过程中,scope一直都是使用默认的范围 <!--用于 ...
- idea下springboot打包成jar包和war包,并且可以在外部tomcat下运行访问到
接着上一章走呗:http://www.cnblogs.com/sxdcgaq8080/p/7712874.html 然后声明一点,下面打包的过程中,scope一直都是使用默认的范围 <!--用于 ...
- 如何将springboot工程打包成war包并且启动
将项目打成war包,放入tomcat 的webapps目录下面,启动tomcat,即 可访问. 1.pom.xml配置修改 <packaging>jar</packaging> ...
随机推荐
- RPC 与 Restful 的区别
PRC 是一种技术的代名词,HTTP 是一种协议,RPC 可以通过 HTTP 来实现,也可以通过 Socket 自己实现一套协议来实现.所以谈论为什么用 RPC 不用 HTTP 是无意义的.但我们习惯 ...
- vue对象深拷贝(避免对象赋值,改变一个对象的值,另一个对象也变化)
对象直接赋值时,例如 let b = { name: 'name', age: 12} let a=b, a.age = 13 console.log(b.age) // 13 由此可见,当改变 a ...
- Django笔记十之values_list指定字段取值及distinct去重处理
这篇笔记将介绍 reverse.distinct.values 和 values_list 的用法. 本篇笔记目录如下: reverse() values() values_list() distin ...
- DOM属性节点加其他节点的操作
节点属性 nodeType 返回值为数值 节点类型(nodeType) 节点名字(nodeName) 节点值(nodeValue) 元素节点 ...
- 全渠道定价、库存决策,运筹混合整数规划建模求解,MNL选择模型,内附代码!
0. 写在前面 刊论文!模型简单,代码实现更简单,墙裂推荐!可为运筹建模提供参考,也可作为全渠道零售研究的入门资料ε٩(๑> ₃ <)۶з 全文有点长,前面先放一个博文结构和涉及内容: 第 ...
- Nordic nRF52系列/nRF5340硬件设计(一)选型及原理图设计
Nordic 的BLE系列芯片从第一代的nRF51系列,到第二代的nRF52系列,发展到目前最新的第三代的nRF5340.目前市场中使用最多的nRF52系列一共有七款芯片,它们是:nRF52805.n ...
- 【ACM组合数学 | 错排公式】写信
题目链接:https://ac.nowcoder.com/acm/contest/54484/B 题意很简单,但是数据范围偏大. 错排公式 首先来推导一下错排公式: \[D(n) = n!\sum_{ ...
- 移除List的统一逻辑写法 LeetCode 203
原理:通过创建一个新的结点,放在头结点的前面,作为真正头结点的前驱结点,这样头结点就成为了意义上的非头结点,这样就可以统一操作结点的删除操作. 需要注意的是:这个新的结点是虚拟头结点,真的的头结点依然 ...
- [操作系统] - 进程状态&进程描述
2.1 进程(Process) 2.1.1 定义 chatGPT版:一个具有独立功能的程序关于某个数据集合的一次运行活动 人话版:程序在并发环境中的执行过程& 进程是程序的一次执行 2.1.2 ...
- 26-code split
第一种:多入口 const { resolve } = require('path'); const HtmlWebpackPlugin = require('html-webpack-plugin' ...