diff --git a/spring-boot-demo-war/README.md b/spring-boot-demo-war/README.md
new file mode 100644
index 0000000..8976045
--- /dev/null
+++ b/spring-boot-demo-war/README.md
@@ -0,0 +1,102 @@
+# spring-boot-demo-war
+
+> 本 demo 主要演示了如何将 Spring Boot 项目打包成传统的 war 包程序。
+
+## pom.xml
+
+```xml
+
+
+ * 启动器 + *
+ * + * @package: com.xkcoding.war + * @description: 启动器 + * @author: shenyangkai + * @date: Created in 2018/10/30 19:37 + * @copyright: Copyright (c) 2018 + * @version: V1.0 + * @modified: shenyangkai + */ +@SpringBootApplication +public class SpringBootDemoWarApplication extends SpringBootServletInitializer { + + public static void main(String[] args) { + SpringApplication.run(SpringBootDemoWarApplication.class, args); + } + + /** + * 若需要打成 war 包,则需要写一个类继承 {@link SpringBootServletInitializer} 并重写 {@link SpringBootServletInitializer#configure(SpringApplicationBuilder)} + */ + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { + return application.sources(SpringBootDemoWarApplication.class); + } +} +``` + +## 参考 + +https://docs.spring.io/spring-boot/docs/2.1.0.RELEASE/reference/htmlsingle/#howto-create-a-deployable-war-file + diff --git a/spring-boot-demo-war/pom.xml b/spring-boot-demo-war/pom.xml index 6d8f250..38fc08a 100644 --- a/spring-boot-demo-war/pom.xml +++ b/spring-boot-demo-war/pom.xml @@ -1,48 +1,56 @@@@ -17,9 +19,17 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; * @modified: shenyangkai */ @SpringBootApplication -public class SpringBootDemoWarApplication { +public class SpringBootDemoWarApplication extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(SpringBootDemoWarApplication.class, args); } + + /** + * 若需要打成 war 包,则需要写一个类继承 {@link SpringBootServletInitializer} 并重写 {@link SpringBootServletInitializer#configure(SpringApplicationBuilder)} + */ + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { + return application.sources(SpringBootDemoWarApplication.class); + } } diff --git a/spring-boot-demo-war/src/main/resources/application.yml b/spring-boot-demo-war/src/main/resources/application.yml index e69de29..a02fbde 100644 --- a/spring-boot-demo-war/src/main/resources/application.yml +++ b/spring-boot-demo-war/src/main/resources/application.yml @@ -0,0 +1,4 @@ +server: + port: 8080 + servlet: + context-path: /demo \ No newline at end of file