SpringBoot打包成WAR包的时候把第三方jar包打到LIB文件夹下和把第三方jar包打入到SpringBoot jar包中

转载

  1. 首先我们应该知道我们把SPRINGBOOT项目打包成WAR包和JAR包的时候分别需要何种插件

    我们最常用的把springBoot打成jar包的插件是下面这样的一个插件,这是把我们的springBoot项目打包成为一个可执行jar的插件
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
  1. 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步骤随便自己进行填写 主要是scopesystemPath(用来指明这个第三方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包中的更多相关文章

  1. SpringBoot打包成war

    关于SpringBoot打成jar包以及jar包如何在Linux持久运行,我在前面已经说过了,所以本次不再赘述. 关于SpringBoot打包成war,其实步骤特别简单,如下图所示(如果是jar,通常 ...

  2. spring-boot 打包成 war包发布

    1.用maven打包成war包 2.将war包用zip方式打开,删除里面的tomcat-embed相关的4个包,删除spring-boot-tomcat包 3.将删除了tomcat相关嵌入包后的war ...

  3. springboot打包成war后部署项目出现异常 LifecycleException: Failed to start component

    完整异常:org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].Sta ...

  4. SpringBoot 打包成war包,部署到tomcat

    使用maven创建的springboot项目,默认是jar包,springboot还有自己带的tomcat.现在需要将项目打包,并部署到服务器tomcat下面. 1.修改pom.xml文件.将jar修 ...

  5. springboot打包成war,部署到tomcat无法访问的问题

    如题:实在是太坑.平时本地测试觉得很方便,但是到了项目打包发布掉链子了. 如很多帖子一样: 首先springboot内嵌的tomcat,再依赖servlet-api,修改启动类继承SpringBoot ...

  6. SpringBoot 打包成war

    1.修改pom.xml文件 <packaging>war</packaging> <properties> <project.build.sourceEnco ...

  7. 【spring boot】idea下springboot打包成jar包和war包,并且可以在外部tomcat下运行访问到(转)

    转自:https://www.cnblogs.com/sxdcgaq8080/p/7727249.html   接着上一章走呗:http://www.cnblogs.com/sxdcgaq8080/p ...

  8. 【spring boot】6.idea下springboot打包成jar包和war包,并且可以在外部tomcat下运行访问到

    接着上一章走呗:http://www.cnblogs.com/sxdcgaq8080/p/7712874.html 然后声明一点,下面打包的过程中,scope一直都是使用默认的范围 <!--用于 ...

  9. idea下springboot打包成jar包和war包,并且可以在外部tomcat下运行访问到

    接着上一章走呗:http://www.cnblogs.com/sxdcgaq8080/p/7712874.html 然后声明一点,下面打包的过程中,scope一直都是使用默认的范围 <!--用于 ...

  10. 如何将springboot工程打包成war包并且启动

    将项目打成war包,放入tomcat 的webapps目录下面,启动tomcat,即 可访问. 1.pom.xml配置修改 <packaging>jar</packaging> ...

随机推荐

  1. Cesium 后处理(Post Process)

    原文地址:https://blog.csdn.net/ls870061011/article/details/123910821 作者:GIS李胜 为实现三维模型的更炫.更酷.更美观,Cesium在1 ...

  2. 一个bug重温对JRE和JDK的关系思考

    前几天做一个springboot项目时,导入的JAVA版本是17,然后后面想更贴近下企业中使用的JDK版本就改成了JDK 1,8,然后就编译错误,bug如下 java: java.lang.Unsup ...

  3. 记一次 .NET 某企业 ERP网站系统 崩溃分析

    一:背景 1. 讲故事 前段时间收到了一个朋友的求助,说他的ERP网站系统会出现偶发性崩溃,找了好久也没找到是什么原因,让我帮忙看下,其实崩溃好说,用 procdump 自动抓一个就好,拿到 dump ...

  4. Go语言:编写一个 WebsiteRacer 的函数,用来对比请求两个 URL 来「比赛」,并返回先响应的 URL。如果两个 URL 在 10 秒内都未返回结果,返回一个 error。

    问题: 你被要求编写一个叫做 WebsiteRacer 的函数,用来对比请求两个 URL 来「比赛」,并返回先响应的 URL.如果两个 URL 在 10 秒内都未返回结果,那么应该返回一个 error ...

  5. ML-程序练习-Dragon

    回归问题 前期 假设已有某样例,参数为w=1.477, b=0.089,即为\(y=1.477x+0.089\) 过程分析 数据采样 首先我们需要模拟一些带有真实样本观测误差的数据(因为真实情况是真实 ...

  6. R语言文本数据挖掘(三)

    文本分词,就是对文本进行合理的分割,从而可以比较快捷地获取关键信息.例如,电商平台要想了解更多消费者的心声,就需要对消费者的文本评论数据进行内在信息的数据挖掘分析,而文本分词是文本挖掘的重要步骤.R语 ...

  7. 使用frp进行内网穿透

    frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP.UDP.HTTP.HTTPS 等多种协议.可以将内网服务以安全.便捷的方式通过具有公网 IP 节点的中转暴露到公网. frp is a ...

  8. 一个 OpenTiny,Vue2 Vue3 都支持!

    大家好,我是 Kagol,OpenTiny 开源社区运营,TinyVue 跨端.跨框架组件库核心贡献者,专注于前端组件库建设和开源社区运营. 今天给大家介绍如何同时在 Vue2 和 Vue3 项目中使 ...

  9. WebAssembly 助力云原生:APISIX 如何借助 Wasm 插件实现扩展功能?

    本文将介绍 Wasm,以及 Apache APISIX 如何实现 Wasm 功能. 作者朱欣欣,API7.ai 技术工程师 原文链接 什么是 Wasm Wasm 是 WebAssembly 的缩写.W ...

  10. DRF的filter组件

    DRF的Filter组件 如果某个API需要传递一些条件进行搜索,其实就在是URL后面通过GET传参即可,例如: /api/users?age=19&category=12 在drf中filt ...