I've got a Spring Boot application running fine locally via the built in tomcat server but I'm having issues deploying it as a war file in Weblogic 12.2. I've followed the "85.1 Create a deployable war file" section of the Spring Boot reference guide to build the war file, created a new Weblogic managed server to host it and followed the deployment install steps on Weblogic but get the below exception when clicking start "servicing all requests" on the deployment. Any suggestions?
Dependencies section of build.gradle:
dependencies {
compile fileTree(dir: 'lib', include: '*.jar')
compile(
'org.springframework.boot:spring-boot-starter-web:1.5.8.RELEASE',
'org.springframework.boot:spring-boot-devtools',
'org.springframework.boot:spring-boot-starter-jdbc',
'org.springframework.boot:spring-boot-starter-data-jpa',
'com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.9.2',
'org.springframework.boot:spring-boot-starter-security',
'javax.servlet:javax.servlet-api:3.1.0'
)
testCompile(
'org.springframework.security:spring-security-test',
'org.springframework.boot:spring-boot-starter-test'
)
providedRuntime (
'org.springframework.boot:spring-boot-starter-tomcat'
)
}
Exception received from Weblogic when clicking start "servicing all requests":
Caused By: java.lang.NoSuchMethodError: org.springframework.web.context.support.StandardServletEnvironment.initPropertySources(Ljavax/servlet/ServletContext;Ljavax/servlet/ServletConfig;)V
at org.springframework.boot.web.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:108)
at org.springframework.boot.web.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:87)
at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:162)
at weblogic.servlet.internal.WebAppServletContext.initContainerInitializer(WebAppServletContext.java:1420)
at weblogic.servlet.internal.WebAppServletContext.initContainerInitializers(WebAppServletContext.java:1359)
Loads more weblogic errors here.
My application entry point appears to be okay:
@SpringBootApplication
public class Application extends SpringBootServletInitializer implements WebApplicationInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}