81.4 部署WAR到Weblogic

想要将Spring Boot应用部署到Weblogic,你需要确保你的servlet初始化器直接实现WebApplicationInitializer(即使你继承的基类已经实现了它)。

一个传统的Weblogic初始化器可能如下所示:

  1. import org.springframework.boot.autoconfigure.SpringBootApplication;
  2. import org.springframework.boot.context.web.SpringBootServletInitializer;
  3. import org.springframework.web.WebApplicationInitializer;
  4. @SpringBootApplication
  5. public class MyApplication extends SpringBootServletInitializer implements WebApplicationInitializer {
  6. }

如果使用logback,你需要告诉Weblogic你倾向使用的打包版本而不是服务器预装的版本。你可以通过添加一个具有如下内容的WEB-INF/weblogic.xml实现该操作:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <wls:weblogic-web-app
  3. xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  6. http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd
  7. http://xmlns.oracle.com/weblogic/weblogic-web-app
  8. http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd">
  9. <wls:container-descriptor>
  10. <wls:prefer-application-packages>
  11. <wls:package-name>org.slf4j</wls:package-name>
  12. </wls:prefer-application-packages>
  13. </wls:container-descriptor>
  14. </wls:weblogic-web-app>