War
提示
虾婆支持打成war包,放到tomcat、weblogic等web容器
打包
需要修改三处,首先给ClusterWebMvcApplication添加继承SpringBootServletInitializer,并重写configure函数,如下:
@SpringBootApplication
public class ClusterWebMvcApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
其次,修改pom.xml打包格式为war
<packaging>war</packaging>
1
最后,添加 spring-boot-starter-tomcat 依赖,特别注意 scope 为 provided
<dependencies>
<!-- … -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<!-- … -->
</dependencies>
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
部署到WebLogic
在上一步的基础之上,ClusterWebMvcApplication 实现接口 WebApplicationInitializer
public class ClusterWebMvcApplication extends SpringBootServletInitializer implements WebApplicationInitializer {
@Bean
public BCryptPasswordEncoder bCryptPasswordEncoder() {
return new BCryptPasswordEncoder();
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(ClusterWebMvcApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(ClusterWebMvcApplication.class, args);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16