springboot项目以war包部署
- springboot项目以war包部署
-
- springboot项目改造
springboot项目以war包部署
由于项目的服务器是内网的windows系统,无法访问互联网,springboot项目用jar包部署十分麻烦,要下载winsw,还要安装.net framwork,还需要写winsw的配置文件,所以打算用tomcat+war包的形式部署,这样的优点是部署方便,缺点是springboot项目server端口不起作用,需要在tomcat里面配置。
springboot项目改造
springboot pom.xml设置打包方式为war包
<groupId>com.example</groupId>
<artifactId>data_acquire</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>data_acquisition</name>
<description>Demo project for Spring Boot</description>
springboot web依赖去除自带的tomcat依赖.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
添加servlet-api依赖使得能够使用HttpServletrequest
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
添加一个初始化类,在springboo项目启动后初始化
public class ServletInitializer extends SpringBootServletInitializer {
public ServletInitializer() {
System.out.println("初始化ServletInitializer");
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(DemoApplication.class);//MyApplication是启动类名
}
}
maven install

在target目录下找到war包部署到tomcat的webapp里,设置tomcat为服务启动
浏览器访问