springboot打成jar包和war包的两种方式,并引入第三方jar包!

首先把需要引入的第三方jar包引入到本地项目中,在引用的模块下加一个lib文件夹

一、打成jar包

1.修改pom文件里的打包方式

  1. <packaging>jar</packaging>

2.引入第三方依赖包

  1. <!--本地sdk的第三方包-->
  2. <dependency>
  3. <groupId>com.alipay</groupId>
  4. <artifactId>alipay-sdk-java-DEV20171211110402</artifactId>
  5. <version>1.0</version>
  6. <scope>system</scope>
  7. <systemPath>${project.basedir}/lib/alipay-sdk-java-DEV20171211110402.jar</systemPath>
  8. </dependency>

3..修改pom文件中的build

  1. <build>
  2. <defaultGoal>clean package</defaultGoal>
  3. <finalName>${project.artifactId}</finalName>
  4. <plugins>
  5. <plugin>
  6. <groupId>org.springframework.boot</groupId>
  7. <artifactId>spring-boot-maven-plugin</artifactId>
  8. <configuration>
  9. <executable>true</executable>
  10. <includeSystemScope>true</includeSystemScope><!--把第三方jar包打包进来-->
  11. <mainClass>com.bosssoft.MpayMercPlatformWebApplication</mainClass><!--主程序启动类-->
  12. </configuration>
  13. <executions>
  14. <execution>
  15. <goals>
  16. <goal>repackage</goal><!-- 可以把依赖的包都打包到生成的Jar包中 -->
  17. </goals>
  18. </execution>
  19. </executions>
  20. </plugin>
  21. </plugins>
  22. <resources>
  23. <resource>
  24. <directory>src/main/resources</directory>
  25. <includes>
  26. <include>**/**</include>
  27. </includes>
  28. <filtering>false</filtering>
  29. </resource>
  30. </resources>
  31. </build>

二、打成war包

1.修改pom文件的打包方式

  1. <packaging>jar</packaging>

2.排除内嵌的tomact

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-web</artifactId>
  4. <!--排除内嵌的tomcat,打成war包时开启,开发使用时需要注释掉-->
  5. <exclusions>
  6. <exclusion>
  7. <groupId>org.springframework.boot</groupId>
  8. <artifactId>spring-boot-starter-tomcat</artifactId>
  9. </exclusion>
  10. </exclusions>
  11. </dependency>

3.修改主程序启动类

  1. @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
  2. public class MpayMercPlatformWebApplication extends SpringBootServletInitializer {
  3. /**
  4. * 工程打成war需要继承SpringBootServletInitializer,重写configure方法
  5. * @param application
  6. * @return
  7. */
  8. @Override
  9. protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
  10. return application.sources(MpayMercPlatformWebApplication.class);
  11. }
  12. public static void main(String[] args) {
  13. SpringApplication.run(MpayMercPlatformWebApplication.class, args);
  14. }
  15. }

4.修改build文件,添加plgin插件

  1. <!--打成war包时开启-->
  2. <plugin>
  3. <groupId>org.apache.maven.plugins</groupId>
  4. <artifactId>maven-war-plugin</artifactId>
  5. <configuration>
  6. <!--<resourceEncoding>UTF-8</resourceEncoding>-->
  7. <!-- 释放将项目的类文件打成jar放到lib目录中。 打成jar的好处是:只修改class时,可以只更新jar。<archive></archive> -->
  8. <attachClasses>true</attachClasses><!-- 把class打包jar作为附件 -->
  9. <archiveClasses>true</archiveClasses><!-- 把class打包jar -->
  10. <webResources>
  11. <resource>
  12. <directory>src/main/resources</directory>
  13. <targetPath>WEB-INF/classes</targetPath>
  14. <excludes>
  15. <exclude>**/*.class</exclude>
  16. </excludes>
  17. </resource>
  18. <!--引入第三方包-->
  19. <resource>
  20. <directory>${project.basedir}/lib</directory>
  21. <targetPath>WEB-INF/lib/</targetPath>
  22. <includes>
  23. <include>**/*.jar</include>
  24. </includes>
  25. </resource>
  26. </webResources>
  27. <packagingExcludes>
  28. WEB-INF/lib/*-classes.jar
  29. </packagingExcludes>
  30. </configuration>
  31. </plugin>

springboot打成jar包和war包的两种方式,并引入第三方jar包!的更多相关文章

  1. SpringBoot集成Mybatis实现多表查询的两种方式(基于xml)

     下面将在用户和账户进行一对一查询的基础上进行介绍SpringBoot集成Mybatis实现多表查询的基于xml的两种方式.   首先我们先创建两个数据库表,分别是user用户表和account账户表 ...

  2. 手机App测试如何获取包名的入口【两种方式】

    在进行手机APP测试的时候经常要获取包名.那么何为包名呢?简单来说其实就是手机APP的安装apk文件的名称,每个手机APP(软件)的包名都是唯一的. 那么我们怎样来获取包名以及包名的入口呢? 方法一: ...

  3. laravel扩展包服务提供者的注册的两种方式

    一. 包自动发现 在 Laravel 应用的配置文件 config/app.php 中,providers 配置项定义了一个会被 Laravel 加载的服务提供者列表.当安装完新的扩展包后,在老版本中 ...

  4. springboot整合mybatis的两种方式

    https://blog.csdn.net/qq_32719003/article/details/72123917 springboot通过java bean集成通用mapper的两种方式 前言:公 ...

  5. java中调用本地动态链接库(*.DLL)的两种方式详解和not found library、打包成jar,war包dll无法加载等等问题解决办法

    我们经常会遇到需要java调用c++的案例,这里就java调用DLL本地动态链接库两种方式,和加载过程中遇到的问题进行详细介绍 1.通过System.loadLibrary("dll名称,不 ...

  6. SpringBoot快速引入第三方jar包

    工作中,我们常会用到第三方jar包,而这些jar包往往在maven仓库是搜不到的,下面推荐一种简单.快速的引入第三方依赖的方法: 比如第三方jar包在lib文件夹下,对pom.xml的配置如下: &l ...

  7. maven生成war包的两种方式

    war包即对WEB应用程序进行打包,用于应用容器的部署.如在jboss中只要把war包丢入deploy目录下即可发布自己的应用了.打包方式有很多中,很多工具本身就支持此功能.下面主要介绍通过maven ...

  8. Eclipse项目中引用第三方jar包时将项目打包成jar文件的两种方式

    转载自:http://www.cnblogs.com/lanxuezaipiao/p/3291641.html 方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 “MANIFES ...

  9. java打jar包和运行jar包的两种方式

    java打jar包和运行jar包的两种方式更详细的打包方式请参考https://www.cnblogs.com/mq0036/p/8566427.html 一.java类不依赖第三方jar包以简单的一 ...

随机推荐

  1. Java架构师方案—多数据源开发详解及原理(二)(附完整项目代码)

    1. mybatis下数据源开发工作 2. 数据源与DAO的关系原理模型 3. 为什么要配置SqlSessionTemplate类的bean 4. 多数据源应用测试 1. mybatis下数据源开发工 ...

  2. 栈的Java实现-分别使用数组和链表

    栈是非常重要的数据结构,栈具有后进先出的特点. 在JVM内部,每个线程维护一个栈,对于每个方法调用,入栈一个元素,成为栈帧,当方法执行完成后,对应的栈帧出栈. 栈帧中,也包含一个栈,称为操作数栈. 一 ...

  3. 关于windows服务器的Security安全类日志的导出

    对于windows服务器,日志的分类会有很多,可以通过wevtutil el 列出 有时可能会对Security安全类日志进行审计,这里简单讲一下安全类日志的导出方法 1.直接在cmd中执行 wevt ...

  4. 关于SpringBoot的一点笔记

    @SpringBootApplication /** * @SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用 */ @SpringBootAppl ...

  5. jquery全选,全不选,反选

    前台 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.o ...

  6. python3 连接数据库~

    ~目前记录的是针对python3写的数据库连接,不适用于pyhon2.python3如果想要与数据库进行连接,则需要先下载对应各数据库的插件包,然后导入包.python3的插件下载地址:https:/ ...

  7. 关于 K210 MaixPy 的 I2C 读取设备,搜索不到设备,通信失败的一些原因以及解决方案。

    近来对 amigo 开发期间的遇到 I2C 问题做一下总结. 我们发现有一些 I2C 设备搜索不到,主要原因是 DATA 的信号衰减,也可能是 I2C 的总线被拉住了. 软件层面的问题 例如在实现 A ...

  8. SQL实战——01. 查找最晚入职员工的所有信息

    查找最晚入职员工的所有信息CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date NOT NULL,`first_n ...

  9. CTFweb方向小知识点

    1)转义字符 \x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39 这玩意叫转义字符,在C.C++里直接用cout << "\x35\x2c\ ...

  10. MATLAB鼠标事件

    来源:https://blog.csdn.net/weixin_39090239/article/details/80586930 前记: 人机交互的方式--键盘开关.鼠标.触摸屏.体感传感器(Kin ...