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

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

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

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

趣学JavaScript:教孩子学编程
  • 类型:JavaScript大小:42.7 MB格式:PDF作者:NickMorgan,摩根,李强
立即下载

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中启动Tomcat的步骤流程
  • SpringBoot部署在tomcat容器中 相关电子书
    学习笔记
    网友NO.537811

    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.885691

    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.803785

    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.122529

    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.676280

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

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

    <
    1
    >

    Copyright 2018-2020 www.xz577.com 码农之家

    版权投诉 / 书籍推广 / 赞助:520161757@qq.com