mirror of
https://gitee.com/dcren/initializr.git
synced 2026-09-19 22:37:40 +08:00
Fix generation of war project with Spring Boot 2+
As of Spring Boot 2.0.0.M1, the SpringBootServletInitializer class has been relocated to the support package. This commit fixes the generation of war project as of that version. Closes gh-502
This commit is contained in:
+16
-7
@@ -434,8 +434,9 @@ public class ProjectGenerator {
|
|||||||
// New testing stuff
|
// New testing stuff
|
||||||
model.put("newTestInfrastructure", isNewTestInfrastructureAvailable(request));
|
model.put("newTestInfrastructure", isNewTestInfrastructureAvailable(request));
|
||||||
|
|
||||||
// New Servlet Initializer location
|
// Servlet Initializer
|
||||||
model.put("newServletInitializer", isNewServletInitializerAvailable(request));
|
model.put("servletInitializrImport", generateImport(getServletInitializrClass(request),
|
||||||
|
request.getLanguage()));
|
||||||
|
|
||||||
// Java versions
|
// Java versions
|
||||||
model.put("isJava6", isJavaVersion(request, "1.6"));
|
model.put("isJava6", isJavaVersion(request, "1.6"));
|
||||||
@@ -512,6 +513,19 @@ public class ProjectGenerator {
|
|||||||
model.put("testAnnotations", testAnnotations);
|
model.put("testAnnotations", testAnnotations);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected String getServletInitializrClass(ProjectRequest request) {
|
||||||
|
Version bootVersion = Version.safeParse(request.getBootVersion());
|
||||||
|
if (VERSION_1_4_0_M3.compareTo(bootVersion) > 0) {
|
||||||
|
return "org.springframework.boot.context.web.SpringBootServletInitializer";
|
||||||
|
}
|
||||||
|
else if (VERSION_2_0_0_M1.compareTo(bootVersion) > 0) {
|
||||||
|
return "org.springframework.boot.web.support.SpringBootServletInitializer";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return "org.springframework.boot.web.servlet.support.SpringBootServletInitializer";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
protected String generateImport(String type, String language) {
|
protected String generateImport(String type, String language) {
|
||||||
String end = ("groovy".equals(language) || "kotlin".equals(language)) ? "" : ";";
|
String end = ("groovy".equals(language) || "kotlin".equals(language)) ? "" : ";";
|
||||||
return "import " + type + end;
|
return "import " + type + end;
|
||||||
@@ -534,11 +548,6 @@ public class ProjectGenerator {
|
|||||||
.compareTo(Version.safeParse(request.getBootVersion())) <= 0;
|
.compareTo(Version.safeParse(request.getBootVersion())) <= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean isNewServletInitializerAvailable(ProjectRequest request) {
|
|
||||||
return VERSION_1_4_0_M3
|
|
||||||
.compareTo(Version.safeParse(request.getBootVersion())) <= 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static boolean isGradle3Available(Version bootVersion) {
|
private static boolean isGradle3Available(Version bootVersion) {
|
||||||
return VERSION_1_5_0_M1.compareTo(bootVersion) <= 0;
|
return VERSION_1_5_0_M1.compareTo(bootVersion) <= 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,7 @@
|
|||||||
package {{packageName}}
|
package {{packageName}}
|
||||||
|
|
||||||
import org.springframework.boot.builder.SpringApplicationBuilder
|
import org.springframework.boot.builder.SpringApplicationBuilder
|
||||||
{{#newServletInitializer}}
|
{{servletInitializrImport}}
|
||||||
import org.springframework.boot.web.support.SpringBootServletInitializer
|
|
||||||
{{/newServletInitializer}}
|
|
||||||
{{^newServletInitializer}}
|
|
||||||
import org.springframework.boot.context.web.SpringBootServletInitializer
|
|
||||||
{{/newServletInitializer}}
|
|
||||||
|
|
||||||
class ServletInitializer extends SpringBootServletInitializer {
|
class ServletInitializer extends SpringBootServletInitializer {
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,7 @@
|
|||||||
package {{packageName}};
|
package {{packageName}};
|
||||||
|
|
||||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||||
{{#newServletInitializer}}
|
{{servletInitializrImport}}
|
||||||
import org.springframework.boot.web.support.SpringBootServletInitializer;
|
|
||||||
{{/newServletInitializer}}
|
|
||||||
{{^newServletInitializer}}
|
|
||||||
import org.springframework.boot.context.web.SpringBootServletInitializer;
|
|
||||||
{{/newServletInitializer}}
|
|
||||||
|
|
||||||
public class ServletInitializer extends SpringBootServletInitializer {
|
public class ServletInitializer extends SpringBootServletInitializer {
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,7 @@
|
|||||||
package {{packageName}}
|
package {{packageName}}
|
||||||
|
|
||||||
import org.springframework.boot.builder.SpringApplicationBuilder
|
import org.springframework.boot.builder.SpringApplicationBuilder
|
||||||
{{#newServletInitializer}}
|
{{servletInitializrImport}}
|
||||||
import org.springframework.boot.web.support.SpringBootServletInitializer
|
|
||||||
{{/newServletInitializer}}
|
|
||||||
{{^newServletInitializer}}
|
|
||||||
import org.springframework.boot.context.web.SpringBootServletInitializer
|
|
||||||
{{/newServletInitializer}}
|
|
||||||
|
|
||||||
class ServletInitializer : SpringBootServletInitializer() {
|
class ServletInitializer : SpringBootServletInitializer() {
|
||||||
|
|
||||||
|
|||||||
+6
@@ -120,6 +120,12 @@ public class ProjectGeneratorLanguageTests extends AbstractProjectGeneratorTests
|
|||||||
testServletInitializr("1.4.0.M3", "spring-boot-1.4");
|
testServletInitializr("1.4.0.M3", "spring-boot-1.4");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void springBoot2ServletInitializer() {
|
||||||
|
testServletInitializr("2.0.0.M3", "spring-boot-2.0");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private void testServletInitializr(String bootVersion, String expectedOutput) {
|
private void testServletInitializr(String bootVersion, String expectedOutput) {
|
||||||
ProjectRequest request = createProjectRequest();
|
ProjectRequest request = createProjectRequest();
|
||||||
request.setLanguage(language);
|
request.setLanguage(language);
|
||||||
|
|||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
package com.example.demo
|
||||||
|
|
||||||
|
import org.springframework.boot.builder.SpringApplicationBuilder
|
||||||
|
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer
|
||||||
|
|
||||||
|
class ServletInitializer extends SpringBootServletInitializer {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
|
||||||
|
application.sources(DemoApplication)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
package com.example.demo;
|
||||||
|
|
||||||
|
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||||
|
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
|
||||||
|
|
||||||
|
public class ServletInitializer extends SpringBootServletInitializer {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
|
||||||
|
return application.sources(DemoApplication.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+12
@@ -0,0 +1,12 @@
|
|||||||
|
package com.example.demo
|
||||||
|
|
||||||
|
import org.springframework.boot.builder.SpringApplicationBuilder
|
||||||
|
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer
|
||||||
|
|
||||||
|
class ServletInitializer : SpringBootServletInitializer() {
|
||||||
|
|
||||||
|
override fun configure(application: SpringApplicationBuilder) : SpringApplicationBuilder {
|
||||||
|
return application.sources(DemoApplication::class.java)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user