Spring boot项目打war包部署服务器
一、修改项目打包方式
在pom.xml里设置 war
二、移除嵌入式tomcat插件
<dependency>
<!-- 指定为Web应用,并启动一个内嵌的Servlet容器(默认是Tomcat)用于处理HTTP请求 -->
<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>
<!-- springboot本身开发出来只支持3.0以上,为了让spring boot支持servlet2.5 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<!--打包的时候可以不用包进去,别的设施会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。 相当于compile,但是打包阶段做了exclude操作-->
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!--<version>1.5.4.RELEASE</version> 版本由springboot父项目维护 需要打成war包的子模块添加此依赖-->
</plugin>
</plugins>
</build>
三、修改启动类,重写初始化方法
public static void main(String[] args) {
SpringApplication.run(BraceletAuthApplication.class, args);
}
/**
* 修改启动类,继承 SpringBootServletInitializer 并重写 configure 方法
*/
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// 注意这里要指向原先用main方法执行的Application启动类
return builder.sources(BraceletAuthApplication.class);
}
}
三、开放阿里云服务器端口
在阿里云控制台开放服务器端口
附加Springboot:
1、Spring boot默认文件上传大小为1m,需手动配置文件大小
spring:
servlet:
multipart:
max-file-size: 10MB # 单个文件大小
max-request-size: 100MB # 设置总上传的数据大小
enabled: true #开启
2、Spring boot扫描其他模块bean
使用@ComponentScan会扫描不到该模块controller层,
先扫描controller其次在扫描其他模块的bean
3、docker查看tomcat实时日志
docker logs -f -t --since=“日期” --tail=10后十条 镜像名