一尘不染

在Weblogic中部署Spring Boot应用

spring-boot

我在webLogic 12C中部署Spring Boot应用程序时遇到麻烦。

10.4.4
403禁止服务器理解了请求,但拒绝执行。授权将无济于事,不应重复该请求。如果请求方法不是HEAD,并且服务器希望公开为什么未满足请求,则应在实体中描述拒绝原因。如果服务器不希望确切显示请求被拒绝的原因,或者没有其他响应可应用时,通常使用此状态代码。

我想知道是否有人可以帮助您。


阅读 570

收藏
2020-05-30

共1个答案

一尘不染

我检查了您的代码,并在此类代码中看到了一个问题: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 {

对此:

public class Application extends SpringBootServletInitializer implements WebApplicationInitializer {

注意:解决上述问题后,您将遇到另一个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>
2020-05-30