【问题标题】:jersey rest Application not deploying with shared library jax-rs 2.0 in weblogic 12.1.3jersey rest 应用程序未在 weblogic 12.1.3 中使用共享库 jax-rs 2.0 部署
【发布时间】:2015-09-08 19:51:11
【问题描述】:

我有一个球衣休息申请。我使用了 jersey 2.x 类,包括 http 请求拦截器。但是我的 weblogic 12.1.3 服务器有 jersey 1.8。我在服务器中从this link 部署了一个 jax-rs 2.0 共享库,并在我的 weblogic.xml 文件中引用了它。但是在部署它时,它说处理应用程序注释时出现故障。

以下是错误日志。我在这里错过了什么?

<Sep 8, 2015 2:31:05 PM EAT> <Error> <HTTP> <BEA-101371> <There was a    

    failure when processing annotations for application /home/martin/Dev/wls1213/user_projects/domains/base_domain/servers/AdminServer/upload/web-1.war. Ensure that the annotations are valid. The error is null
java.lang.NullPointerException
    at 

weblogic.servlet.internal.WebAnnotationProcessor.processMultipartConfigAnnotation(WebAnnotationProcessor.java:275)
    at weblogic.servlet.internal.AnnotationProcessingManager.processAnnotationForClasses(AnnotationProcessingManager.java:169)
    at weblogic.servlet.internal.AnnotationProcessingManager.processAnnotations(AnnotationProcessingManager.java:114)
    at weblogic.servlet.internal.AnnotationProcessingManager.processAnnotationsOutsideWebFragment(AnnotationProcessingManager.java:141)
    at weblogic.servlet.internal.AnnotationProcessingManager.processAnnotations(AnnotationProcessingManager.java:102)
    Truncated. see log file for complete stacktrace
> 
<Sep 8, 2015 2:31:06 PM EAT> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID "19063043237576" for task "0". Error is: "weblogic.application.ModuleException: java.lang.NullPointerException"
weblogic.application.ModuleException: java.lang.NullPointerException
    at weblogic.application.internal.ExtensibleModuleWrapper.prepare(ExtensibleModuleWrapper.java:114)
    at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:100)
    at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:175)
    at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:170)
    at weblogic.application.utils.StateMachineDriver$ParallelChange.run(StateMachineDriver.java:80)
    Truncated. see log file for complete stacktrace
Caused By: java.lang.NullPointerException
    at weblogic.servlet.internal.WebAnnotationProcessor.processMultipartConfigAnnotation(WebAnnotationProcessor.java:275)
    at weblogic.servlet.internal.AnnotationProcessingManager.processAnnotationForClasses(AnnotationProcessingManager.java:169)
    at weblogic.servlet.internal.AnnotationProcessingManager.processAnnotations(AnnotationProcessingManager.java:114)
    at weblogic.servlet.internal.AnnotationProcessingManager.processAnnotationsOutsideWebFragment(AnnotationProcessingManager.java:141)
    at weblogic.servlet.internal.AnnotationProcessingManager.processAnnotations(AnnotationProcessingManager.java:102)
    Truncated. see log file for complete stacktrace
> 
<Sep 8, 2015 2:31:06 PM EAT> <Warning> <Deployer> <BEA-149004> <Failures were detected while initiating deploy task for application "web-1".> 
<Sep 8, 2015 2:31:06 PM EAT> <Warning> <Deployer> <BEA-149078> <Stack trace for message 149004
weblogic.application.ModuleException: java.lang.NullPointerException
    at weblogic.application.internal.ExtensibleModuleWrapper.prepare(ExtensibleModuleWrapper.java:114)
    at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:100)
    at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:175)
    at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:170)
    at weblogic.application.utils.StateMachineDriver$ParallelChange.run(StateMachineDriver.java:80)
    Truncated. see log file for complete stacktrace
Caused By: java.lang.NullPointerException
    at weblogic.servlet.internal.WebAnnotationProcessor.processMultipartConfigAnnotation(WebAnnotationProcessor.java:275)
    at weblogic.servlet.internal.AnnotationProcessingManager.processAnnotationForClasses(AnnotationProcessingManager.java:169)
    at weblogic.servlet.internal.AnnotationProcessingManager.processAnnotations(AnnotationProcessingManager.java:114)
    at weblogic.servlet.internal.AnnotationProcessingManager.processAnnotationsOutsideWebFragment(AnnotationProcessingManager.java:141)
    at weblogic.servlet.internal.AnnotationProcessingManager.processAnnotations(AnnotationProcessingManager.java:102)
    Truncated. see log file for complete stacktrace
> 
<Sep 8, 2015 2:31:06 PM EAT> <Error> <Console> <BEA-240003> <Administration Console encountered the following error: weblogic.application.ModuleException: java.lang.NullPointerException
    at weblogic.application.internal.ExtensibleModuleWrapper.prepare(ExtensibleModuleWrapper.java:114)
    at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:100)
    at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:175)
    at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:170)
    at weblogic.application.utils.StateMachineDriver$ParallelChange.run(StateMachineDriver.java:80)
    at weblogic.work.ContextWrap.run(ContextWrap.java:40)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:548)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
Caused by: java.lang.NullPointerException: 
    at weblogic.servlet.internal.WebAnnotationProcessor.processMultipartConfigAnnotation(WebAnnotationProcessor.java:275)
    at weblogic.servlet.internal.AnnotationProcessingManager.processAnnotationForClasses(AnnotationProcessingManager.java:169)
    at weblogic.servlet.internal.AnnotationProcessingManager.processAnnotations(AnnotationProcessingManager.java:114)
    at weblogic.servlet.internal.AnnotationProcessingManager.processAnnotationsOutsideWebFragment(AnnotationProcessingManager.java:141)
    at weblogic.servlet.internal.AnnotationProcessingManager.processAnnotations(AnnotationProcessingManager.java:102)
    at weblogic.servlet.internal.AnnotationProcessingManager.processAnnotations(AnnotationProcessingManager.java:79)
    at weblogic.servlet.internal.WebAppModule.processAnnotations(WebAppModule.java:1804)
    at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:764)
    at weblogic.application.internal.ExtensibleModuleWrapper$PrepareStateChange.next(ExtensibleModuleWrapper.java:295)
    at weblogic.application.internal.ExtensibleModuleWrapper$PrepareStateChange.next(ExtensibleModuleWrapper.java:285)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42)
    at weblogic.application.internal.ExtensibleModuleWrapper.prepare(ExtensibleModuleWrapper.java:109)

下面是我的 weblogic.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="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.0/weblogic-web-app.xsd">
  <jsp-descriptor>
    <keepgenerated>true</keepgenerated>
    <debug>true</debug>
  </jsp-descriptor>
  <context-root>/web</context-root>

  <session-descriptor>
    <persistent-store-type>coherence-web</persistent-store-type>
  </session-descriptor> 

  <library-ref>
      <library-name>jax-rs</library-name>
      <specification-version>2.0</specification-version>
  </library-ref>

  <container-descriptor>
    <prefer-web-inf-classes>false</prefer-web-inf-classes>
    <prefer-application-packages>
      <package-name>org.slf4j</package-name>


    </prefer-application-packages>
    <prefer-application-resources>
      <resource-name>org/slf4j/impl/StaticLoggerBinder.class</resource-name>



    </prefer-application-resources>
  </container-descriptor>
</weblogic-web-app>

【问题讨论】:

    标签: java web-services jersey jax-rs weblogic12c


    【解决方案1】:

    主要 2 意味着 Jersey 与版本 1 不兼容。我不希望它向后兼容。我想您必须迁移或继续使用版本 1。

    【讨论】:

    • 我不介意使用 1.x,但问题是我有绝对重要的 http 拦截器。您是否有办法在 1.x 中使用拦截器,因为当我在 1.x 中添加带有注释 @provider 的 url 过滤器类时,它没有注册,因此我无法拦截我的请求。
    • 我从来没有用过 Jersey 1。也许你可以用 javax.servlet.Filter 完成类似的事情?
    • @martinkimani 请参阅this answer 底部了解如何在 Jersey 1.x 中注册过滤器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-15
    • 1970-01-01
    • 2012-06-26
    • 2011-01-05
    • 2016-11-05
    • 2017-04-07
    • 2015-11-14
    相关资源
    最近更新 更多