Spring Boot / Weblogic 12c - JSR-310和Joda问题

时间:2016-10-26 09:56:20

标签: spring-boot jackson weblogic12c jsr310

我想将Spring Boot .war应用程序部署到Weblogic 12c服务器。我已经在文档中创建了初始化程序,并且还添加了一个weblogic.xml,其结构如下:

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“>     12.1.3

<wls:container-descriptor>
    <wls:prefer-application-packages>

        <wls:package-name>org.slf4j.*</wls:package-name>
        <wls:package-name>org.joda.*</wls:package-name>
        <wls:package-name>com.fasterxml.*</wls:package-name>
        <wls:package-name>org.apache.commons.*</wls:package-name>
        <wls:package-name>org.apache.xmlbeans.*</wls:package-name>

    </wls:prefer-application-packages>

    <wls:prefer-application-resources>
        <wls:resource-name>org.slf4j.*</wls:resource-name>
        <wls:resource-name>javax.persistence.*</wls:resource-name>
        <wls:resource-name>META-INF/services/javax.servlet.ServletContainerInitializer</wls:resource-name>
        <wls:resource-name>com.fasterxml.*</wls:resource-name>

    </wls:prefer-application-resources>
</wls:container-descriptor>


<wls:context-root>myapp</wls:context-root>

我还在我的pom.xml中包含了以下依赖项:

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-java8</artifactId>
    </dependency>

    <dependency>
        <groupId>com.fasterxml.jackson.datatype</groupId>
        <artifactId>jackson-datatype-jsr310</artifactId>
    </dependency>

此类配置通常在Tomcat服务器上序列化日期。但是,似乎weblogic服务器不包含JSR-310库。实际上当我在@Configuration文件中执行此操作时:

@Bean
public JavaTimeModule javaTimeModule() {
    return new JavaTimeModule();
}

我得到以下异常:

weblogic.application.ModuleException: java.lang.ClassNotFoundException: com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
    at weblogic.application.internal.ExtensibleModuleWrapper.start(ExtensibleModuleWrapper.java:140)
    at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:124)
    at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:216)
    at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:211)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42)
Truncated. see log file for complete stacktrace

所以我说好了,让我们试试Joda Time。但即使如你所见,我已经在weblogic.xml中宣布了它,但它甚至找不到DateTime class

所以知道这里有什么问题吗?

0 个答案:

没有答案