在Weblogic中部署Spring Boot应用程序

Car*_*los 11 java spring weblogic12c spring-boot

我在webLogic 12C中部署Spring启动应用程序时遇到了麻烦.

10.4.4 403禁止服务器理解请求,但拒绝履行请求.授权无效,请求不应重复.如果请求方法不是HEAD并且服务器希望公开为什么请求没有得到满足,那么它应该描述实体中拒绝的原因.当服务器不希望确切地说明请求被拒绝的原因,或者没有其他响应适用时,通常会使用此状态代码.

我想知道是否有人可以提供帮助.

Pie*_*rre 32

我查看了您的代码并在此类代码中看到了一个问题:https: //github.com/purrox/Spring-example/blob/master/src/main/java/hello/Application.java

你正确地做了(正如SpringBoot文档中所定义的那样),但似乎Weblogic12C存在一个错误(或者可能是对标准的解释).似乎Weblogic12C搜索直接实现WebApplicationInitializer的类.请注意您的代码如何扩展SpringBootServletInitializer(实现WebApplicationInitializer).Weblogic12C似乎并不喜欢它.因此,最简单的方法是使Application类实现WebApplicationInitializer.所以,改变这一行:

public class Application extends SpringBootServletInitializer {  
Run Code Online (Sandbox Code Playgroud)

对此:

public class Application extends SpringBootServletInitializer implements WebApplicationInitializer {  
Run Code Online (Sandbox Code Playgroud)

注意:一旦修复了上述内容,您将遇到另一个Weblogic12C部署问题:"java.lang.IllegalArgumentException:LoggerFactory不是Logback LoggerContext,但Logback在类路径上".要解决其他问题,请创建一个新文件src/main/webapp/WEB-INF/weblogic.xml并将此内容放入其中:

    <?xml version="1.0" encoding="UTF-8"?>
    <wls:weblogic-web-app xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd">
        <wls:weblogic-version>12.1.1</wls:weblogic-version>
        <wls:context-root>helloApp</wls:context-root>
        <wls:container-descriptor>
            <wls:prefer-application-packages>
                <wls:package-name>org.slf4j.*</wls:package-name>
            </wls:prefer-application-packages>
        </wls:container-descriptor>
    </wls:weblogic-web-app>
Run Code Online (Sandbox Code Playgroud)