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容器显示的文件夹名

猜你喜欢

转载自www.cnblogs.com/mowen120/p/12300893.html
今日推荐