关于springboot 打包问题 jar包和 war包

编程入门 行业动态 更新时间:2024-10-26 00:19:29

关于<a href=https://www.elefans.com/category/jswz/34/1769943.html style=springboot 打包问题 jar包和 war包"/>

关于springboot 打包问题 jar包和 war包

起因:项目开发完成   需要打包部署了  发现自己不会打包 那么开始网上学习打包?

那么怎么来打包那?

我们以前没有采用springboot 时候我们都是直接将项目打成war包形式  然后放到tomcat webapp下面  

开始打包:

我对原理现在也不是很理解  我给出的是自己对打成包  并运行成功的案例?

1.开始第一个war

  先上代码:pom.xml文件

 

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns=".0.0" xmlns:xsi=""xsi:schemaLocation=".0.0 .0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.2.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.zero2ipo</groupId><artifactId>fbs</artifactId><version>0.0.1</version><packaging>war</packaging><name>fbs</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><!----><!--<exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId></exclusion></exclusions>--></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><scope>provided</scope></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.0.0</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>com.auth0</groupId><artifactId>java-jwt</artifactId><version>3.5.0</version></dependency><!-- .apachemons/commons-lang3 --><dependency><groupId>org.apachemons</groupId><artifactId>commons-lang3</artifactId><version>3.8.1</version></dependency><dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>1.3.5</version></dependency><!--alibaba  fastjson--><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.29</version></dependency><!--分页插件--><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.1.2</version></dependency><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-autoconfigure</artifactId><version>1.2.3</version></dependency><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.3</version></dependency><dependency><groupId>com.vaadin.external.google</groupId><artifactId>android-json</artifactId><version>RELEASE</version></dependency><!--接口文档swagger2--><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.2.2</version></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.2.2</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.9.1</version></dependency><!-- .fasterxml.jackson.core/jackson-databind --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.1</version></dependency><!--poi操作文档--><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.15</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml-schemas</artifactId><version>3.15</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.15</version></dependency><!--热部署--><!-- <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>provided</scope><optional>true</optional></dependency>--></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><mainClass>com.zero2ipo.fbs.FbsApplication</mainClass></configuration></plugin></plugins></build></project>

pom文件我们需要添加的 

 

1) <packaging>war</packaging> 这里一定要是war
2) 将springboot 内置的tomcat去除 或者叫他在运行期不起作用 要不然会和我们自己tomcat冲突
  <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><scope>provided</scope></dependency>
3)修改重启类
直接上代码:
@EnableTransactionManagement
@SpringBootApplication
@EnableSwagger2
@MapperScan("com.zero2ipo.fbs.core.mapper")
public class FbsApplication  extends SpringBootServletInitializer{public static void main(String[] args) {SpringApplication.run(FbsApplication.class, args);}@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {return builder.sources(this.getClass());}/** 测试提交 **/}

一定要继承

SpringBootServletInitializer
重写
    @Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {return builder.sources(this.getClass());}
这样就可以实现了打包 我采用的是idea
右侧的maven project ---lifecyle ---- 先clean ---- package 打包就可以打包完成 在target目录下出现你想要的包了

2:将springboot 打jar包
jar包就非常简单了 其实只要我们的程序在本地运行没问题那么
只需要在<packageing>jar</packaging> 这里已修改就可以
同样采用idea maven project --lifecyle--- pageage 打包就可以 出现了 项目.jar文件
运行方式 采用java -jar *.jar 运行

--------------------------------------------------------------------------------------------------------------------------
开始来说说我遇见的坑吧 上面写的很简单 我第一次给springboot打包 遇见的坑来描述一下
1:当你打包*.jar 运行的时候 有可能会出现 什么主类找不到
java jar *.jar 和java -jar *.jar 如果采用第一种输入 就会说找不到 主类 原因是自己写错了
2:项目好不容跑起来了 那么忽然报异常 异常第一句说的是springboot 2.1.2.RELEASE! 来一个叹号这种 下面在报一个 端口冲突的异常
我开始异常看的最上面的 springboot异常 各种百度 其实就是端口冲突导致的 所以异常的查看要细心 如果有端口冲突第一时间解决一下
3: 这个异常就影响我好久了项目启动没有任何问题了 启动时候缓存数据也都加载到缓存 这时候你清晰的看见tomcat打印日志查询了数据
然而当你在点击其他请求的时候报错了


这是什么原因那?
首先我自己的idea运行的项目并没有报错 ,我就百度 查说Mybatis这种错误 其实一查这个错误太多了 各种解释 都不是真正的问题所在,如果你的开发本地没有任何问题的话。那么请检查是不是
配置 mybatis配置 我这里原因是我没有加 mapper.xml引用 我在mybati_config.xml文件中写了 mappers 引用但是还是报错
 这是错误的请不要粘贴
<mappers>
<mapper resource="classpath*:com.zero2ipo.fbs.core.mapper/**.xml"/>
</mappers>
那么我的解决是
application.properties 文件中
正确的配置:mybatis.mapper-locations=classpath:com/zero2ipo/fbs/core/mapper/*.xml
这样就解决了

在第一次打包的时候作为初学者 请不要盲目百度 百度的各种讲解 太多了 针对一点想 如果你感觉百度上的你试了 步骤一点没有错那么多数是你配置文件项目的配置错误 导致打包的时候
出现了问题






 

转载于:.html

更多推荐

关于springboot 打包问题 jar包和 war包

本文发布于:2024-02-12 02:08:04,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1685156.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:springboot   jar   war

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!