Spring Boot打包war jar 部署tomcat
概述
1.Spring Boot聚合工程打包war部署Tomcat
2.Spring Boot打包Jar,通过Java -jar直接运行.
3.提供完整pom.xml测试项目 至github
4.项目目前了集成了 Spring Boot + Spring data jpa +Redis集群+dubbo+freemarker 持续更新...
解决问题
1.xxxx中没有主清单属性
2.解决没有web.xml而报错
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project provider: Error assembling WAR: webxml attribute is required(or pre-existing WEB-INF/web.xml if executing in update mode) -> [Help 1]
版本
1.JDK 1.8
2.Spring Boot 1.5.8
3.apache-tomcat-8.5.23
一、打包war部署tomcat
1.改写App类 继承SpringBootServletInitializer
2.重写configure方法,返回builder.sources(YouApp.class);
3.添加pom.xml ,如下图
4.修改<packaging>war</packaging>
5.package命令打包
6.可参考 github--> releases--> v0.2 中blog-main-service 它是一个可打包jar且通过java -jar运行的完整项目配置
地址:https://github.com/mmdsyl/BLOG-Microservice/releases
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
public class ManagerApplication extends SpringBootServletInitializer{ // for tomcat @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(ManagerApplication.class); } public static void main(String[] args) throws InterruptedException { SpringApplication application = new SpringApplication(ManagerApplication.class); //application.setBannerMode(Banner.Mode.OFF); application.run(args); }} |

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency> <!--用于解决没有web.xml报错--> <plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
</plugin>

二、打包Jar执行运行
1.标准的Application,不要继承SpringBootServletInitializer
2.修改pom,如图
3.package命令打包
4.可参考 github--> releases--> v0.2 中blog-main-web ,它是一个可打包war可部署tomcat中的完整配置
地址:https://github.com/mmdsyl/BLOG-Microservice/releases
<!--打包成jar-->
<!--https://docs.spring.io/spring-boot/docs/current/reference/html/build-tool-plugins-maven-plugin.html-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
-END-

Spring Boot打包war jar 部署tomcat的更多相关文章
- spring boot 打包war后 部署到外部 tomcat 的具体正确操作【包括修改端口 与 去除请求路径的工程名】
1.前言 工程做好了,总不能放在idea运行吧?不然怎么把项目放到云服务器呢?[这一篇随笔不讲解发布的云服务器的操作,在其他随笔有详细记载.] 解决的方案是把springboot 工程 打包成war文 ...
- 一些坑 Java 执行命令行命令 Spring Boot 打包为jar ResourceUtils.getFile 等出现的问题
Java 执行命令行命令 这个没技术含量的东西耗费了我半个多小时 String command = ....; Process process = Runtime.getRuntime().exec( ...
- spring boot 打war包部署,打jar包
官方文档:http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-create-a-deployable- ...
- Spring boot打包war包
1.设置打包的类型(war/jar) 在pom.xml里设置 <packaging>war</packaging> 2.移除嵌入式tomcat插件 //在pom.xml里找到s ...
- Spring Boot 以 war 方式部署
Spring Boot 默认自带了一个嵌入式的 Tomcat 服务器,可以以jar方式运行,更为常见的情况是需要将 Spring Boot 应用打包成一个 war 包,部署到 Tomcat.Jerry ...
- spring boot打war包启动Tomcat失败
Tomcat启动失败:最后一个causy by :java.lang.NoSuchMethodError: org.apache.tomcat.util.res.StringManager.getMa ...
- spring boot 打包成jar 包在发布到服务器上
http://blog.csdn.net/sai739295732/article/details/49444447
- spring boot 打包war
@SpringBootApplication public class AesApplication extends SpringBootServletInitializer { public sta ...
- spring boot 使用war包部署
随机推荐
- CYS-Sqlite数据导入工具
界面: 曹永思 下载地址:asp.net 2.0版 Sqlite数据导入工具.zip 欢迎转载,转载请注明出处,希望帮到更多人.
- 知识点:CSS代码语法
css 样式由选择符和声明组成,而声明又由属性和值组成,如下图所示: 选择符:又称选择器,指明网页中要应用样式规则的元素,如本例中是网页中所有的段(p)的文字将变成蓝色,而其他的元素(如ol)不会受到 ...
- 关于windows10的使用
关于windows10的使用 个人习惯设置 打开我的电脑之后,不是定位到此电脑,而是定位到快速访问. [解决办法] 用win + 箭头 快捷键将窗口靠边之后,另一边出现多个窗口 [解决办法] win ...
- memcache和redis本质区别在哪里?
转自:http://www.dewen.org/q/971/memcache%E5%92%8Credis%E6%9C%AC%E8%B4%A8%E5%8C%BA%E5%88%AB%E5%9C%A8%E5 ...
- day27(反射之内省机制实现BeanUtils)
使用内省方式来实现beanUtils往对象里面存值 public class BeanInfoUtil2 { public static void setPropertyByIntrospector( ...
- java实现把两张图片合并(Graphics2D)
package com.yin.text; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.i ...
- QT中的线程与事件循环理解(2)
1. Qt多线程与Qobject的关系 每一个 Qt 应用程序至少有一个事件循环,就是调用了QCoreApplication::exec()的那个事件循环.不过,QThread也可以开启事件循环.只不 ...
- TextBox Ctrl+A不能全选的问题
问题: 当TextBox控件在设置了MultiLine=True之后,Ctrl+A 无法全选,十分影响使用体验. 对于这个问题不明所以,不知道是Bug,还是故意而为之... 解决1: 添加KeyDow ...
- PS插件CameraRaw-初次尝试
一.百度百科原话 RAW的原意就是“未经加工”.可以理解为:RAW图像就是CMOS或者CCD图像感应器将捕捉到的光源信号转化为数字信号的原始数据.RAW文件是一种记录了数码相机传感器的原始信息,同时记 ...
- linux shell实现批量关闭局域网中主机端口
假设局域网中有多台主机,只能开通ssh服务(端口22),如果发现其他服务打开,则全部关闭.通过运行一个shell脚本,完成以上功能.在实际运维中,可以通过puppet等工具更快更好的完成这个功能,所以 ...