当前位置:首页 > Java技术文章 > SpringBoot部署在tomcat容器中运行的部署方法

SpringBoot部署在tomcat容器中运行的部署示例

  • 发布时间:
  • 作者:码农之家原创
  • 点击:124

这篇文章主要知识点是关于springboot、tomcat、Springboot打成war包并在tomcat中运行的部署方法 的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下java相关资源

趣学JavaScript:教孩子学编程 查看详情

SpringBoot部署在tomcat容器中运行的部署方法

部署在tomcat容器中首先需要添加一些新的包和启动程序

1.在pom.xml文件中packaging便签下 jar 改为 war

<packaging>war</packaging>

2.在pom.xml文件中添加新的依赖包

 <dependency> 
 <groupId>org.springframework.boot</groupId> 
 <artifactId>spring-boot-starter-tomcat</artifactId> 
 <scope>provided</scope> </dependency>

3.在spring-boot启动类的目录下添加一个新的启动类

package com.erxi.ms;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
@SpringBootApplication(exclude = {
   DataSourceAutoConfiguration.class
})
public class SpringBootStartApplication extends SpringBootServletInitializer {
 @Override
 protected SpringApplicationBuilder configure(
  SpringApplicationBuilder builder) {
 // 注意这里要指向原先用main方法执行的MainApplication启动类
 return builder.sources(MainApplication.class);
 }
}

 

总结

以上所述是小编给大家介绍的SpringBoot部署在tomcat容器中运行的部署方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对码农之家网站的支持!

Springboot打成war包并在tomcat中运行的部署方法

把spring-boot项目按照平常的web项目一样发布到tomcat容器下

一、修改打包形式

在pom.xml里设置 <packaging>war</packaging>

二、移除嵌入式tomcat插件

在pom.xml里找到spring-boot-starter-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>

三、添加servlet-api的依赖

下面两种方式都可以,任选其一

<dependency>
 <groupId>javax.servlet</groupId>
 <artifactId>javax.servlet-api</artifactId>
 <version>3.1.0</version>
 <scope>provided</scope>
</dependency>
<dependency>
 <groupId>org.apache.tomcat</groupId>
 <artifactId>tomcat-servlet-api</artifactId>
 <version>8.0.36</version>
 <scope>provided</scope>
</dependency>

四、修改启动类,并重写初始化方法

我们平常用main方法启动的方式,都有一个App的启动类,代码如下:

@SpringBootApplication
public class Application {
 public static void main(String[] args) {
  SpringApplication.run(Application.class, args);
 }
}

我们需要类似于web.xml的配置方式来启动spring上下文了,在Application类的同级添加一个SpringBootStartApplication类,其代码如下:

/**
 * 修改启动类,继承 SpringBootServletInitializer 并重写 configure 方法
 */
public class SpringBootStartApplication extends SpringBootServletInitializer {
 @Override
 protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
  // 注意这里要指向原先用main方法执行的Application启动类
  return builder.sources(Application.class);
 }
}

五、打包部署

在项目根目录下(即包含pom.xml的目录),在命令行里输入:
mvn clean package即可, 等待打包完成,出现[INFO] BUILD SUCCESS即为打包成功。
然后把target目录下的war包放到tomcat的webapps目录下,启动tomcat,即可自动解压部署。
最后在浏览器中输入

http://localhost:[端口号]/[打包项目名]/

发布成功。

PS:下面看下SpringBoot war包tomcat运行启动报错(Cannot determine embedded database driver class for database type NONE)的解决方法

我们的项目一直以来都是jar包直接运行的,昨天同事说要在tomcat运行,我就帮他倒腾了半天。在文中给大家介绍了,需要的朋友可以点击查看。

然后顺利打包部署进本地tomcat启动就报标题错误,网上搜过都说启动类中加入注解:@SpringBootApplication(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class)

本人亲测无效。

解决方案:

启动类加入注解:@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}),亲测有效。

以上就是本次给大家分享的关于Java的全部知识点内容总结,大家还可以在下方相关文章里找到springboot通过cors协议解决跨、 springMVC前端传数组类型后、 Java中List集合的遍历的知识、 等java文章进一步学习,感谢大家的阅读和支持。

上一篇:详解SpringMVC的ModelAndView传值方法

下一篇:jdk自带线程池知识点总结

展开 +

收起 -

SpringBoot部署在tomcat容器中 相关内容
SpringBoot中启动Tomcat的步骤流程

这篇文章主要介绍了SpringBoot中如何启动Tomcat流程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

查看详情
OpenCV3.0 Computer Vision with Java

本文档是OpenCV 3.0 Computer Vision with Java的中文翻译版,如果你是Java开发者、学生、研究者或爱好者,想要在Java中创建计算机视觉应用,那么这本书是为你准备的,感兴趣的就下载来了解一下吧

查看详情
明解Java

这是一本更适合入门的Java编程书,图文并茂,示例丰富,通过284幅图表和258段代码,由浅入深地解说了从Java的基础知识到面向对象编程的内容

查看详情
500套java毕业设计、PHP毕业设计视频演示

500多套的相关java、php的相关毕业设计项目视频演示,大家可以参考下里面的项目名称以及相关的界面,需要的毕业生们参考下吧。

查看详情
你不知道的JavaScript 下卷

本书讲解JavaScript开发人员不求甚解的大趋势,深入理解语言内部的机制,全面介绍JavaScript中常被人误解和忽视的重要知识点,分为上中下三套,欢迎下载

查看详情
Java从小白到大牛

Java从小白到大牛是一本Java语言学习教程,读者群是零基础小白,通过本书的学习能够成为Java大牛。主要内容包括:Java语法基础、数据类型、运算符、控制语句、数组、字符串、面向对象基础、继承与多态、抽象类与接口、集合框架、异常处理、输入输出和网络编程等技术。

查看详情
HTML CSS JavaScript网页制作从入门到精通

HTML CSS JavaScript网页制作从入门到精通 第3版 共分为19章和4个附录,重点介绍使用HTML进行网页制作的方方面面,同时讲解了目前流行的Web标准与CSS网页布局实例,以及基于JavaScript语言的网页特

查看详情
JavaScript和jQuery实战手册

JavaScript可以大大改进网页的动画、交互性和视觉效果,但学习该门语言不太容易。本书通过一步步引导JavaScript基础知识,展示了如何使用jQuery(即预先写好的JavaScript代码库)来节省时间和精

查看详情
SpringBoot部署在tomcat容器中 学习笔记
网友NO.169026

SpringBoot2.1.3修改tomcat参数支持请求特殊符号问题

最近遇到一个问题,比如GET请求中,key,value中带有特殊符号,请求会报错,见如下URL: http://xxx.xxx.xxx:8081/aaa?key1=val1b=a[1] 现在,我们进入boot启动类,添加如下代码即可: public class DemoApp { public static void main(String[] args) { SpringApplication.run(DemoApp.class, args); } @Bean public TomcatServletWebServerFactory webServerFactory() { TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory(); factory.addConnectorCustomizers(new TomcatConnectorCustomizer() { @Override public void customize(Connector connector) { connector.setProperty("relaxedPathChars", "\"[\\]^`{|}"); connector.setProperty("relaxedQueryChars", "\"[\\]^`{|}"); } }); return factory; }} 总结 以上所述是小编给大家介绍的SpringBoot2.1.3修改tomcat参数支持请求特殊符号问题,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对码农之家网站的支持! ……

网友NO.403256

SpringBoot中启动Tomcat的步骤流程

前面在一篇文章中介绍了 Spring 中的一些重要的 context。有一些在此文中提到的 context,可以参看上篇文章。 SpringBoot 项目之所以部署简单,其很大一部分原因就是因为不用自己折腾 Tomcat 相关配置,因为其本身内置了各种 Servlet 容器。一直好奇: SpringBoot 是怎么通过简单运行一个 main 函数,就能将容器启动起来,并将自身部署到其上 。此文想梳理清楚这个问题。 我们从SpringBoot的启动入口中分析: Context 创建 // Create, load, refresh and run the ApplicationContextcontext = createApplicationContext(); 在SpringBoot 的 run 方法中,我们发现其中很重要的一步就是上面的一行代码。注释也写的很清楚: 创建、加载、刷新、运行 ApplicationContext。 继续往里面走。 protected ConfigurableApplicationContext createApplicationContext() { Class? contextClass = this.applicationContextClass; if (contextClass == null) { try { co……

网友NO.752720

SpringBoot Tomcat启动实例代码详解

废话不多了,具体内容如下所示: Application configuration class:@SpringBootApplicationpublic class ServletInitializer extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(ServletInitializer.class); } public static void main(String[] args) throws Exception { SpringApplication.run(ServletInitializer.class, args); }} 注意: 启动类放在项目的包的最外层最好,这样可以扫描到所有的包路径。 controller: @Controllerpublic class BootController { @RequestMapping("/") @ResponseBody String home() { return "Hello World!"; } public static void main(String[] args) throws Exception { SpringApplication.run(BootController.class, args); }} pom project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" modelVersion4……

网友NO.770924

Springboot打成war包并在tomcat中运行的部署方法

把spring-boot项目按照平常的web项目一样发布到tomcat容器下 一、修改打包形式 在pom.xml里设置 packagingwar/packaging 二、移除嵌入式tomcat插件 在pom.xml里找到spring-boot-starter-web依赖节点,在其中添加如下代码, dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-web/artifactId !-- 移除嵌入式tomcat插件 -- exclusions exclusion groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-tomcat/artifactId /exclusion /exclusions/dependency 三、添加servlet-api的依赖 下面两种方式都可以,任选其一 dependency groupIdjavax.servlet/groupId artifactIdjavax.servlet-api/artifactId version3.1.0/version scopeprovided/scope/dependencydependency groupIdorg.apache.tomcat/groupId artifactIdtomcat-servlet-api/artifactId version8.0.36/version scopeprovided/scope/dependency 四、修改启动类,并重写初始化方法 我们平常用main方法启动的方式,都有一个App的启动类,……

网友NO.199302

详解SpringBoot初始教程之Tomcat、Https配置以及Jetty优化

1.介绍 在SpringBoot的Web项目中,默认采用的是内置Tomcat,当然也可以配置支持内置的jetty,内置有什么好处呢? 1. 方便微服务部署。 2. 方便项目启动,不需要下载Tomcat或者Jetty 在目前的公司已经把内置的Jetty部署到了线上项目中,目前来说并无太大问题,内置就算有一些性能损失,但是通过部署多台机器, 其实也能够很轻松的解决这样的问题,内置容器之后其实是方便部署和迁移的。 1.1 优化策略 针对目前的容器优化,目前来说没有太多地方,需要考虑如下几个点 线程数 超时时间 jvm优化 针对上述的优化点来说,首先线程数是一个重点,初始线程数和最大线程数,初始线程数保障启动的时候,如果有大量用户访问,能够很稳定的接受请求, 而最大线程数量用来保证系统的稳定性,而超时时间用来保障连接数不容易被压垮,如果大批量的请求过来,延……

<
1
>

Copyright 2018-2020 xz577.com 码农之家

本站所有电子书资源不再提供下载地址,只分享来路

免责声明:网站所有作品均由会员网上搜集共同更新,仅供读者预览及学习交流使用,下载后请24小时内删除

版权投诉 / 书籍推广 / 赞助:QQ:520161757