欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

将springcloud项目打成war包部署到tomcat中

程序员文章站 2022-06-11 10:53:26
...

1.首先把jar包改成war包,然后把内嵌的tomcat去掉

<?xml version="1.0" encoding="UTF-8"?>
<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">
    <!-- ... -->
    <packaging>war</packaging>
    <!-- ... -->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
        <!-- ... -->
    </dependencies>
</project>

2。增加一个启动类,就是在springboot启动文件的相同路径,加上一个类。

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;

public class SpringBootStartApplication extends SpringBootServletInitializer
 {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
       // 注意这里要指向原先用main方法执行的Application启动类
       //UserApplication是原来springboot的启动类
        return builder.sources(UsermsApplication.class); 
    }
}

如果UsermsApplication ,ide识别不了,则需要clean project,然后在重新打包。

3.可以在pom文件中加一个属性,然后成功的名字就是finalName规定的名字。

build>
 	    <finalName>userms</finalName>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
		</plugins>
	</build>

4.使用 run中的Maven install打包,成功后target文件夹中会有war包。然后放在tomca中即可。
5.如果用到了redis ,还需要配置redis的账号密码。