mirror of
https://gitee.com/dcren/initializr.git
synced 2025-04-29 19:56:47 +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:
parent
afe9d6664f
commit
9976d8e20d
@ -434,8 +434,9 @@ public class ProjectGenerator {
|
||||
// New testing stuff
|
||||
model.put("newTestInfrastructure", isNewTestInfrastructureAvailable(request));
|
||||
|
||||
// New Servlet Initializer location
|
||||
model.put("newServletInitializer", isNewServletInitializerAvailable(request));
|
||||
// Servlet Initializer
|
||||
model.put("servletInitializrImport", generateImport(getServletInitializrClass(request),
|
||||
request.getLanguage()));
|
||||
|
||||
// Java versions
|
||||
model.put("isJava6", isJavaVersion(request, "1.6"));
|
||||
@ -512,6 +513,19 @@ public class ProjectGenerator {
|
||||
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) {
|
||||
String end = ("groovy".equals(language) || "kotlin".equals(language)) ? "" : ";";
|
||||
return "import " + type + end;
|
||||
@ -534,11 +548,6 @@ public class ProjectGenerator {
|
||||
.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) {
|
||||
return VERSION_1_5_0_M1.compareTo(bootVersion) <= 0;
|
||||
}
|
||||
|
@ -1,12 +1,7 @@
|
||||
package {{packageName}}
|
||||
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder
|
||||
{{#newServletInitializer}}
|
||||
import org.springframework.boot.web.support.SpringBootServletInitializer
|
||||
{{/newServletInitializer}}
|
||||
{{^newServletInitializer}}
|
||||
import org.springframework.boot.context.web.SpringBootServletInitializer
|
||||
{{/newServletInitializer}}
|
||||
{{servletInitializrImport}}
|
||||
|
||||
class ServletInitializer extends SpringBootServletInitializer {
|
||||
|
||||
|
@ -1,12 +1,7 @@
|
||||
package {{packageName}};
|
||||
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
{{#newServletInitializer}}
|
||||
import org.springframework.boot.web.support.SpringBootServletInitializer;
|
||||
{{/newServletInitializer}}
|
||||
{{^newServletInitializer}}
|
||||
import org.springframework.boot.context.web.SpringBootServletInitializer;
|
||||
{{/newServletInitializer}}
|
||||
{{servletInitializrImport}}
|
||||
|
||||
public class ServletInitializer extends SpringBootServletInitializer {
|
||||
|
||||
|
@ -1,12 +1,7 @@
|
||||
package {{packageName}}
|
||||
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder
|
||||
{{#newServletInitializer}}
|
||||
import org.springframework.boot.web.support.SpringBootServletInitializer
|
||||
{{/newServletInitializer}}
|
||||
{{^newServletInitializer}}
|
||||
import org.springframework.boot.context.web.SpringBootServletInitializer
|
||||
{{/newServletInitializer}}
|
||||
{{servletInitializrImport}}
|
||||
|
||||
class ServletInitializer : SpringBootServletInitializer() {
|
||||
|
||||
|
@ -120,6 +120,12 @@ public class ProjectGeneratorLanguageTests extends AbstractProjectGeneratorTests
|
||||
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) {
|
||||
ProjectRequest request = createProjectRequest();
|
||||
request.setLanguage(language);
|
||||
|
@ -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)
|
||||
}
|
||||
|
||||
}
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
@ -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)
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user