Springboot项目打成jar包运行 和 打成war包 外部tomcat运行
Jar打包方式运行
类型为jar时
<packaging>jar</packaging>
1.使用命令mvn clean package 打包
2.使用java –jar 包名运行
// -server -Xms256m -Xmx256m 设置jvm参数 初始化堆内存值和最大值
例:java -server -Xms256m -Xmx256m -jar springboot_project.jar
War打包方式 外部Tomcat运行
类型为war时
<packaging>war</packaging>
1.pom.xml修改
<!-- springboot-web组件 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 移除内置的tomcat -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 或将内置的tomcat Scope改为provided -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
说明:scope作用范围
1、compile设置编译范围内有效,在编译和打包时都会将依赖项加载进去。
2、test设置测试范围内有效,只在测试时使用,编译和打包时都不会加载该项。
3、provided设置编译和测试的范围内有效,打包时不会加载该项。
4、runtime设置在运行时加载该依赖项,但是编译时不依赖。
2.修改启动类 继承SpringBootServletInitializer,并实现configure方法
@SpringBootApplication
public class ApplicationRun extends SpringBootServletInitializer { @Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(this.getClass());
} public static void main(String[] args) {
SpringApplication.run(ApplicationRun.class,args);
}
}
说明:外部tomcat启动的时候配置文件中配置的端口号和context-path将失效,使用的是外部tomcat的端口号和tomcat webapps下war包 名称
#修改端口号和contextPath
server.port = 8888
server.servlet.context-path=/test
打包跳过本地的错误(本地环境和生产环境冲突):package -Dmaven.test.skip=true

Springboot项目打成jar包运行 和 打成war包 外部tomcat运行的更多相关文章
- SpringBoot webmvc项目导出war包并在外部tomcat运行产生的诸多问题以及解决方案
背景: 有需求要将原来的Spring(3.2.6) + Springmvc + Hibernate项目重构为Springboot(1.5.2)项目 描述: 记录重构过程,以及期间遇到的种种问题和对应的 ...
- maven这些工具负责创建项目,然后maven负责打包好war包扔进tomcat容器,tomcat容器接受的只是jar包
maven这些工具负责创建项目,然后maven负责打包好war包扔进tomcat容器,tomcat容器接受的只是jar包 2.tomcat不管你什么编译的,也不管你开发工具是什么.Tomcat只接受w ...
- tomcat部署项目后,war包是否可刪?war包存在必要性!
在tomcat中webapps目錄上傳war包后, 对war解压时候. war不能在tomcat运行时删除,否则会删除自动解压的工程. 你可以停止tomcat后删除war. 当你重新部署的时候,如果 ...
- SpringBoot打war包并部署到外部tomcat运行(jar工程改造为正war工程)
如果你的SpringBoot工程是一个jar工程,而想把它改造成war工程,并打成war包放到外部的tomcat下运行,该怎么修改配置呢?这里以Maven工程为例进行介绍. (1)将pom.xml中的 ...
- springboot项目实现jar包外配置文件管理
背景 为实现快速搭建和开发,项目以Springboot框架搭建,springboot搭建的项目可以将项目直接打成jar包并运行,无需自己安装配置Tomcat或者其他服务器,是一种方便快捷的部署方式. ...
- springboot项目生成jar包(带静态资源)方法
[Maven]在pom.xml文件中使用resources插件的小作用 不过war包比较实用,毕竟独立的tomcat比较好控制
- IntelliJ IDEA 2017 创建SpringBoot项目, 及.jar没有主清单属性解决办法
1. 创建项目: File >> New >> Spring Initializr 选好 SDK, 及 依赖包(比如 Web >> Web ) . 需要使用 ...
- springboot+thymeleaf打war包在外部tomcat运行
工程目录 pom文件注意点 <packaging>war</packaging> <dependency> <groupId>org.springfra ...
- maven maven-war-plugin 解决java war项目间的依赖(两个war都可独立部署运行,maven 3.2.x亲测)
最近整理基础框架,有些项目不想分布式,所以基础框架必须同时可独立部署,也可直接被作为依赖和业务工程打到一起,记录下解决war项目依赖的要点,一开始用warpath,结果报找不到,有些帖子还是17年的, ...
随机推荐
- jQuery对select操作
(转自:http://www.cnblogs.com/as285996985/articles/1535014.html) //遍历option和添加.移除optionfunction changeS ...
- 详述 SQL 中的 distinct 和 row_number() over() 的区别及用法
1 前言 在咱们编写 SQL 语句操作数据库中的数据的时候,有可能会遇到一些不太爽的问题,例如对于同一字段拥有相同名称的记录,我们只需要显示一条,但实际上数据库中可能含有多条拥有相同名称的记录,从而在 ...
- day13作业
#作业1猜年龄 , 可以让用户最多猜三次! # Auther:bing #!/usr/bin/env python age = 24 print("猜年龄") for i in r ...
- LeetCode OJ:Next Permutation(下一排列)
Implement next permutation, which rearranges numbers into the lexicographically next greater permuta ...
- react style: 二级菜单
1.样式 @import "../../styles/varibles"; .app-sidebar { overflow: hidden; width: 180px; > ...
- 2017.11.24 Stm8L151-factory
Marking---------factory fun... /** ***************************************************************** ...
- canvas - 柱子效果
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
- [分享]Google 全球 IP 地址库[Google Global Cache IPs]
Google 全球 IP 地址库 IP 地址来源:http://www.kookle.co.nr,共计4351个. Bulgaria 93.123.23.1 93.123.23.2 93.123.23 ...
- session不一定非得要cookie开启才能使用。也可以使用get传递参数
session不一定非得要cookie开启才能使用.也可以使用get传递参数 可以将session_id();设置为一个常量. define(’s_id‘ ,$_COOKIE['session_nam ...
- 深入学习Heritrix---解析Frontier(链接工厂)(转)
深入学习Heritrix---解析Frontier(链接工厂) Frontier是Heritrix最核心的组成部分之一,也是最复杂的组成部分.它主要功能是为处理链接的线程提供URL,并负责链接处理完成 ...