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

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的账号密码。

展开阅读全文

没有更多推荐了,返回首页