springboot去除内嵌tomcat和打包在tomcat中运行需要做的步骤

Posted 默闻120

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot去除内嵌tomcat和打包在tomcat中运行需要做的步骤相关的知识,希望对你有一定的参考价值。

去除内嵌tomcat和添加jsp依赖

去除内嵌tomcat

在springboot启动依赖中去除内嵌tomcat
        <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和jsp依赖

        <dependency>
		            <groupId>javax.servlet</groupId>
		            <artifactId>javax.servlet-api</artifactId>
		        </dependency>
		
		        <dependency>
		            <groupId>javax.servlet</groupId>
		            <artifactId>jstl</artifactId>
		        </dependency>
		        <dependency>
		            <groupId>org.apache.tomcat.embed</groupId>
		            <artifactId>tomcat-embed-jasper</artifactId>
		        </dependency>

打包项目在tomcat运行需要的步骤

一定要设置成war包(好吧这是废话)

不需要jsp的pom配置

<build>
			<!-- ??打包后的包名 -->
		        <finalName>demo</finalName>
		        <plugins>
		            <plugin>
		                <groupId>org.springframework.boot</groupId>
		                <artifactId>spring-boot-maven-plugin</artifactId>
		                <configuration>
		                    <!-- ??设定启动类 -->
		                    <mainClass>com.example.DemoApplication</mainClass>
		                </configuration>
		                <executions>
		                    <execution>
		                        <goals>
		                            <goal>repackage</goal>
		                        </goals>
		                    </execution>
		                </executions>
		            </plugin>
		        </plugins>
		    </build>

需要jsp的pom配置

<build>
		        <finalName>demo</finalName>
		        <plugins>
		            <plugin>
		                <groupId>org.springframework.boot</groupId>
		                <artifactId>spring-boot-maven-plugin</artifactId>
		                <version>1.4.2.RELEASE</version>
		                <configuration>
		                    <!-- ??设定启动类 -->
		                    <mainClass>com.example.DemoApplication</mainClass>
		                </configuration>
		                <executions>
		                    <execution>
		                        <goals>
		                            <goal>repackage</goal>
		                        </goals>
		                    </execution>
		                </executions>
		            </plugin>
		        </plugins>
		        <resources>
		            <resource>
		                <!-- ??JSP包打包到资源里 -->
		                <directory>src/main/webapp</directory>
		                <targetPath>META-INF/resources</targetPath>
		                <includes>
		                    <include>**/**</include>
		                </includes>
		            </resource>
		            <resource>
		                <!-- ??其他资打包到资源里 -->
		                <directory>src/main/resources</directory>
		                <includes>
		                    <include>**/**</include>
		                </includes>
		                <filtering>false</filtering>
		            </resource>
		        </resources>
		    </build>

为了tomcat运行项目后启动springboot需要新建一个类继承SpringBootServletInitializer类

public class TomCatApplication extends SpringBootServletInitializer {
			
			
			    @Override
			    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
			        return builder.sources(DemoApplication.class);
			    }
			
			}

其实可以直接让Springboot启动类继承重写也是可以的

现在打包后放到tomcat容器运行即可,端口看tomcat的,访问名看tomcat容器显示的文件夹名

以上是关于springboot去除内嵌tomcat和打包在tomcat中运行需要做的步骤的主要内容,如果未能解决你的问题,请参考以下文章

解密Springboot内嵌Tomcat

Springboot项目部署到外置Tomcat

springboot打包成war,部署到tomcat无法访问的问题

springboot打包发布tomcat遇到的bug及解决方法

spring boot怎么部署到服务器

SpringBoot 项目打包war 包部署Tomcat,logback 日志记录不生效解决办法