- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个在 weblogic 12.1.3 上使用 JAX-RS 和 CDI 运行的 Web 应用程序。
我想启用 Jersey 的 Multipart 功能,但在部署时遇到错误。
我使用 ResourceConfig 来配置我的 REST 应用程序。它位于一个单独的 jar 中(我们称之为 commons),因为它被多个其他应用程序使用。并由每个应用程序中的另一个类进行扩展。
public abstract class RestConfig extends ResourceConfig {
public RestConfig() {
property(CommonProperties.MOXY_JSON_FEATURE_DISABLE, true);
register(JacksonFeature.class);
register(RolesAllowedDynamicFeature.class);
register(SecurityFilter.class);
// here I register manually my resources classes because they are not discovered automatically, I don't why)
registerRestPackages(COMMONS_REST_PACKAGES);
registerRestPackages(getRestPackages());
registerRestClasses(getRestLambdaClasses());
// here is the important part that makes my applciation crash on startup
register(MultiPartFeature.class);
}
}
他扩展了这个类:
@ApplicationPath("/api/")
public class RestApplication extends RestConfig {
public RestApplication() {
super();
}
}
根据文档, Jersey jar 位于共享库中:https://docs.oracle.com/middleware/1213/wls/RESTF/use-jersey20-ri.htm#RESTF290
我在启动时遇到 ghis 异常:
weblogic.application.ModuleException: org.jboss.weld.exceptions.DeploymentException: WELD-001408 Unsatisfied dependencies for type [Providers] with qualifiers [@Default] at injection point [[parameter 1] of [constructor] @Inject public org.glassfish.jersey.media.multipart.internal.MultiPartReaderServerSide(Providers, Provider<CloseableService>)]:org.jboss.weld.exceptions.DeploymentException:WELD-001408 Unsatisfied dependencies for type [Providers] with qualifiers [@Default] at injection point [[parameter 1] of [constructor] @Inject public org.glassfish.jersey.media.multipart.internal.MultiPartReaderServerSide(Providers, Provider<CloseableService>)]
at org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:315)
at org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:284)
at org.jboss.weld.bootstrap.Validator.validateInjectionTarget(Validator.java:342)
at org.jboss.weld.manager.InjectionTargetValidator.addInjectionTarget(InjectionTargetValidator.java:29)
at org.jboss.weld.manager.BeanManagerImpl.createInjectionTarget(BeanManagerImpl.java:943)
at weblogic.jaxrs.onwls.cdi.CdiComponentProvider$CdiFactory$2.<init>(CdiComponentProvider.java:201)
at weblogic.jaxrs.onwls.cdi.CdiComponentProvider$CdiFactory.<init>(CdiComponentProvider.java:180)
at weblogic.jaxrs.onwls.cdi.CdiComponentProvider.bind(CdiComponentProvider.java:262)
at org.glassfish.jersey.server.ApplicationHandler.bindWithComponentProvider(ApplicationHandler.java:874)
at org.glassfish.jersey.server.ApplicationHandler.bindProvidersAndResources(ApplicationHandler.java:804)
at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:414)
at org.glassfish.jersey.server.ApplicationHandler.access$500(ApplicationHandler.java:162)
at org.glassfish.jersey.server.ApplicationHandler$3.run(ApplicationHandler.java:304)
at org.glassfish.jersey.internal.Errors$2.call(Errors.java:289)
at org.glassfish.jersey.internal.Errors$2.call(Errors.java:286)
at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
at org.glassfish.jersey.internal.Errors.processWithException(Errors.java:286)
at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:301)
at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:311)
at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:169)
at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:359)
at javax.servlet.GenericServlet.init(GenericServlet.java:240)
at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:337)
at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:288)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
at weblogic.servlet.internal.StubSecurityHelper.initServletInstance(StubSecurityHelper.java:98)
at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:92)
at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:69)
at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:57)
at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:36)
at weblogic.servlet.internal.ServletStubImpl.initStubLifecycleHelper(ServletStubImpl.java:653)
at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:600)
at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1979)
at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1956)
at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1846)
at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2876)
at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1661)
at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:823)
at weblogic.application.internal.ExtensibleModuleWrapper$StartStateChange.next(ExtensibleModuleWrapper.java:360)
at weblogic.application.internal.ExtensibleModuleWrapper$StartStateChange.next(ExtensibleModuleWrapper.java:356)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42)
at weblogic.application.internal.ExtensibleModuleWrapper.start(ExtensibleModuleWrapper.java:138)
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)
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:73)
at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:24)
at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:729)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42)
at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:258)
at weblogic.application.internal.SingleModuleDeployment.activate(SingleModuleDeployment.java:48)
at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:165)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:587)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:150)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:116)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:339)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:846)
at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1275)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:442)
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:176)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:68)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:553)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
问题似乎是应用程序找不到实现接口(interface) Providers 的 bean。jersey-common中有JaxrsProviders类,但CDI似乎没有检测到它。
这家伙似乎也有同样的问题,但它对我没有多大帮助:https://community.oracle.com/thread/3723819
如果你有任何想法......
最佳答案
它应该可以工作。我已成功将 Multipart
与 weblogic 12.1.3 和 Jersey 2.5.1 结合使用。
检查您是否在provided
范围内使用以下依赖项:
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-multipart</artifactId>
<version>2.5.1</version>
<scope>provided</scope>
</dependency>
您可以分享您的weblogic.xml
或weblogic-application.xml
吗?
关于java - Weblogic 12.1.3,Jersey 2.5.1,如何启用MultiPartFeature : WELD-001408 Unsatisfied dependencies for type [Providers],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40999580/
我正在尝试在 alpine 中安装一个包,在本例中我指定了“jasper-dev”,但我和其他许多人都遇到过这种情况。我在终端中得到的输出是: / # apk add jasper-dev ERROR
我正在尝试从 https://docs.docker.com/compose/gettingstarted/ 构建 docker 镜像示例。我收到了这个错误 Building web Step 1/9
我正在尝试从 https://docs.docker.com/compose/gettingstarted/ 构建 docker 镜像示例。我收到了这个错误 Building web Step 1/9
学习 Springboot 创建一个简单的项目。最初,我尝试使用 hashsets 中的虚假数据来模拟 DAO,一切都很好,转向实际的 DAO - 一切都崩溃了。 目前我正在尝试从表中获取某些数据,但
我想在我的旧上网本上安装带有 FCXE4 的 Linux Alpine,但我无法让它工作。这是我到目前为止所做的: # setup-alpine 这是标准程序,我只需通过以下方式手动启动 wifi 连
我需要在我的应用程序中运行比操作系统中的版本更新的 openssl 版本。我能够修补和 android 源代码以编译更新版本,然后提取共享库以在我的应用程序中使用。 然后我能够针对我的新共享库编译和链
我刚刚开始使用第谷,我在早期阶段被难住了。也许我误解了一些东西,所以以防万一,这就是我所期待的:我以 OSGi 风格(即在 MANIFEST.MF 中通过 Import-Package )定义了我的包
这段代码: #include #include #include struct any_callable { public: template void operator()(T
当我安装 Python 项目时,Docker 出现此错误。尽管在谷歌上进行了研究,但我没有找到解决方案。顺便说一下,当我在 Docker 上运行项目时,如何在浏览器上显示? test@test-Vir
我只是按照ticket-monster 教程(http://www.jboss.org/jdf/examples/ticket-monster/tutorial/Introduction/)并在我的解
我试图在我的本地系统上设置 RestComm Web SDK 演示应用程序,我只想为音频/视频、聊天、IVR 等创建一个应用程序(RestComm 为我提供了满足我需求的完美解决方案)。现在我已经在本
我用 g++ 构建了一个静态库: g++-5 main.cpp -fPIC -Wall -std=c++11 -lboost_system …… 现在我想通过 JNI 调用它的方法: public s
我正在将同事的 Tesseract-OCR 应用程序从 MacOSX 迁移到 Windows 64,并遇到了库路径问题。 当我执行 OCR 过程时,我得到以下信息: Caused by: java.l
我有一个书签应用程序,它接收一个 url 并自动提取一个摘要。当客户端请求服务器添加新书签时,服务器会发回一些初始信息并启动提取摘要的过程。 在 Angular 前端,我创建了用于添加书签和管理书签列
正在加载在 Linux 中运行的 java 应用程序中的 .so 文件之一。即使我提供了正确的路径,我仍然收到“不满意的链接错误无法加载”错误。谁能给我解释一下这个问题吗?提前致谢..!! 最佳答案
我在向 julia 添加包时遇到错误: 错误 数据框 (@v1.5) pkg> add DataFrames Updating registry at `C:\Users\.julia\regi
FFMpeg 本周更新,导致构建中断。 我的选择是: 将 ffmpeg 固定到以前的版本?如果是这样,我如何固定到当前版本之前的版本? 更新python dockerfile版本 输出: Step 8
Unsatisfied dependency expressed through field 'userRepository' 谁能告诉我缺少什么或需要添加什么?预先非常感谢! 这是我的项目结构的图片
我在调用 JNI 方法时收到 Unsatisfied link 错误。下面是我的日志 日志 new exception [Handler processing failed; nested exce
我正在编写一个简单的 Hello World Java 程序来调用 native 库中的代码。但是,当我运行该程序时,我收到以下错误: Exception in thread "main" java
我是一名优秀的程序员,十分优秀!