WL 12.2.1 和 12.1.3 上的 Jersey 2.x Web APP [英] Jersey 2.x Web APP on WL 12.2.1 and 12.1.3

查看:33
本文介绍了WL 12.2.1 和 12.1.3 上的 Jersey 2.x Web APP的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个使用 WebLogic 12.1.3 的 Web 应用程序,它需要一个指向正确 jersey 库的指针.

我基于 SW 上的类似问题在 webapp/WEB-INF 文件夹中创建了一个 weblogic.xml 文件,但这只能解决部分问题.

这在 12.1.3 中正常运行.

但是,使用此配置文件 WL 12.2.1 会引发错误.

 org.glassfish.jersey.internal.ServiceConfigurationError: org.glassfish.jersey.server.spi.ComponentProvider: 类 org.glassfish.jersey.ext.cdi1x.internal.CdiComponentProvider 实现了提供者接口 org.glassfish未找到 .jersey.server.spi.ComponentProvider.提供者实现被忽略.在 org.glassfish.jersey.internal.ServiceFinder.fail(ServiceFinder.java:433)在 org.glassfish.jersey.internal.ServiceFinder.access$300(ServiceFinder.java:155)在 org.glassfish.jersey.internal.ServiceFinder$LazyObjectIterator.handleClassNotFoundException(ServiceFinder.java:806)在 org.glassfish.jersey.internal.ServiceFinder$LazyObjectIterator.hasNext(ServiceFinder.java:757)在 org.glassfish.jersey.server.ApplicationHandler.getRankedComponentProviders(ApplicationHandler.java:743)在 org.glassfish.jersey.server.ApplicationHandler.access$600(ApplicationHandler.java:184)在 org.glassfish.jersey.server.ApplicationHandler$4.get(ApplicationHandler.java:406)在 org.glassfish.jersey.server.ApplicationHandler$4.get(ApplicationHandler.java:399)在 org.glassfish.jersey.internal.util.collection.Values$LazyValueImpl.get(Values.java:340)在 org.glassfish.jersey.server.ApplicationHandler.createApplication(ApplicationHandler.java:366)在 org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:342)在 org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:392)在 org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:177)在 org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:369)在 javax.servlet.GenericServlet.init(GenericServlet.java:244)在 weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:343)在 weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:294)在 weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:326)在 weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:196)在 weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203)在 weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71)在 weblogic.servlet.internal.StubSecurityHelper.initServletInstance(StubSecurityHelper.java:99)在 weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:93)在 weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:69)在 weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:57)在 weblogic.servlet.internal.StubLifecycleHelper.(StubLifecycleHelper.java:36)在 weblogic.servlet.internal.ServletStubImpl.initStubLifecycleHelper(ServletStubImpl.java:666)在 weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:612)在 weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:2053)在 weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:2030)在 weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1919)在 weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3063)在 weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1830)在 weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:875)在 weblogic.application.internal.ExtensibleModuleWrapper$StartStateChange.next(ExtensibleModuleWrapper.java:360)在 weblogic.application.internal.ExtensibleModuleWrapper$StartStateChange.next(ExtensibleModuleWrapper.java:356)在 weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45)在 weblogic.application.internal.ExtensibleModuleWrapper.start(ExtensibleModuleWrapper.java:138)在 weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:124)在 weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:237)在 weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:232)在 weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45)在 weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:82)在 weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:52)在 weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:753)在 weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45)在 weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:263)在 weblogic.application.internal.SingleModuleDeployment.activate(SingleModuleDeployment.java:53)在 weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:165)在 weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80)在 weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:265)在 weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:481)在 weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:53)在 weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:202)在 weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:52)在 weblogic.management.deploy.internal.ConfiguredDeployments$2.doItem(ConfiguredDeployments.java:592)在 weblogic.management.deploy.internal.parallel.BucketInvoker.invoke(BucketInvoker.java:138)在 weblogic.management.deploy.internal.ConfiguredDeployments.transitionAppsParallel(ConfiguredDeployments.java:600)在 weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:259)在 weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:155)在 weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:221)在 weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:130)在 weblogic.server.AbstractServerService.postConstruct(AbstractServerService.java:76)在 sun.reflect.GeneratedMethodAccessor4.invoke(未知来源)在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)在 java.lang.reflect.Method.invoke(Method.java:498)在 org.glassfish.hk2.utilities.reflection.ReflectionHelper.invoke(ReflectionHelper.java:1262)在 org.jvnet.hk2.internal.ClazzCreator.postConstructMe(ClazzCreator.java:332)在 org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:374)在 org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:471)在 org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:228)在 org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:85)在 org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2072)在 org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:114)在 org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:698)在 org.jvnet.hk2.internal.ThreeThirtyResolver.resolve(ThreeThirtyResolver.java:78)在 org.jvnet.hk2.internal.ClazzCreator.resolve(ClazzCreator.java:211)在 org.jvnet.hk2.internal.ClazzCreator.resolveAllDependencies(ClazzCreator.java:234)在 org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:357)在 org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:471)在 org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:228)在 org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:85)在 org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2072)在 org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:114)在 org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:88)在 org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.oneJob(CurrentTaskFuture.java:1213)在 org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.run(CurrentTaskFuture.java:1144)在 weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:643)在 weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:348)在 weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:333)在 weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:54)在 weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)在 weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:617)在 weblogic.work.ExecuteThread.execute(ExecuteThread.java:397)在 weblogic.work.ExecuteThread.run(ExecuteThread.java:346)

删除该配置使其在 12.2.1 中运行.

我正在使用

2.23.1

如何在不更改配置文件的情况下使其在两个版本上运行?我希望拥有相同的代码库,并且只需部署到多个版本的 WebLogic,而不必担心库版本.

解决方案

在 weblogic.xml 中的

旁边添加:

<!-- apis --><resource-name>javax.ws.rs.*</resource-name><!-- 球衣--><resource-name>META-INF/services/org.glassfish.jersey.*</resource-name><resource-name>com.sun.jersey.*</resource-name><resource-name>org.glassfish.jersey.*</resource-name><resource-name>jersey.repackaged.*</resource-name><!-- hk2 --><resource-name>META-INF/services/org.glassfish.hk2.*</resource-name><资源名称>org.glassfish.hk2.*</resource-name><资源名称>org.jvnet.hk2.*</resource-name><resource-name>org.jvnet.hk2.tiger_types.*</resource-name></prefer-application-resources>

...并检查它是否真的是hk2.tiger_types"或只是tiger_types".

I have a web application working with WebLogic 12.1.3 it needs to have a pointer to the correct jersey libraries.

I created a weblogic.xml file in webapp/WEB-INF folder based on a similar issue here on SW but that only solves part of the problem.

<?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://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd">

    <container-descriptor>
        <prefer-application-packages>
            <!-- apis -->
            <package-name>javax.ws.rs.*</package-name>

            <!-- jersey providers -->
            <package-name>com.sun.jersey.*</package-name>
            <package-name>org.glassfish.jersey.*</package-name>

            <package-name>jersey.repackaged.*</package-name>

            <!-- hk2 -->
            <package-name>org.jvnet.hk2.*</package-name>
            <package-name>org.jvnet.hk2.tiger_types.*</package-name>
            <package-name>org.glassfish.hk2.*</package-name>

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

This runs properly in 12.1.3.

However with this config file WL 12.2.1 throws an error.

   org.glassfish.jersey.internal.ServiceConfigurationError: org.glassfish.jersey.server.spi.ComponentProvider: The class org.glassfish.jersey.ext.cdi1x.internal.CdiComponentProvider implementing the provider interface org.glassfish.jersey.server.spi.ComponentProvider is not found. The provider implementation is ignored.
    at org.glassfish.jersey.internal.ServiceFinder.fail(ServiceFinder.java:433)
    at org.glassfish.jersey.internal.ServiceFinder.access$300(ServiceFinder.java:155)
    at org.glassfish.jersey.internal.ServiceFinder$LazyObjectIterator.handleClassNotFoundException(ServiceFinder.java:806)
    at org.glassfish.jersey.internal.ServiceFinder$LazyObjectIterator.hasNext(ServiceFinder.java:757)
    at org.glassfish.jersey.server.ApplicationHandler.getRankedComponentProviders(ApplicationHandler.java:743)
    at org.glassfish.jersey.server.ApplicationHandler.access$600(ApplicationHandler.java:184)
    at org.glassfish.jersey.server.ApplicationHandler$4.get(ApplicationHandler.java:406)
    at org.glassfish.jersey.server.ApplicationHandler$4.get(ApplicationHandler.java:399)
    at org.glassfish.jersey.internal.util.collection.Values$LazyValueImpl.get(Values.java:340)
    at org.glassfish.jersey.server.ApplicationHandler.createApplication(ApplicationHandler.java:366)
    at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:342)
    at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:392)
    at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:177)
    at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:369)
    at javax.servlet.GenericServlet.init(GenericServlet.java:244)
    at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:343)
    at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:294)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:326)
    at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:196)
    at weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203)
    at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71)
    at weblogic.servlet.internal.StubSecurityHelper.initServletInstance(StubSecurityHelper.java:99)
    at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:93)
    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:666)
    at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:612)
    at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:2053)
    at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:2030)
    at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1919)
    at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3063)
    at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1830)
    at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:875)
    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:45)
    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:237)
    at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:232)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45)
    at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:82)
    at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:52)
    at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:753)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45)
    at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:263)
    at weblogic.application.internal.SingleModuleDeployment.activate(SingleModuleDeployment.java:53)
    at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:165)
    at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80)
    at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:265)
    at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:481)
    at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:53)
    at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:202)
    at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:52)
    at weblogic.management.deploy.internal.ConfiguredDeployments$2.doItem(ConfiguredDeployments.java:592)
    at weblogic.management.deploy.internal.parallel.BucketInvoker.invoke(BucketInvoker.java:138)
    at weblogic.management.deploy.internal.ConfiguredDeployments.transitionAppsParallel(ConfiguredDeployments.java:600)
    at weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:259)
    at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:155)
    at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:221)
    at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:130)
    at weblogic.server.AbstractServerService.postConstruct(AbstractServerService.java:76)
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.glassfish.hk2.utilities.reflection.ReflectionHelper.invoke(ReflectionHelper.java:1262)
    at org.jvnet.hk2.internal.ClazzCreator.postConstructMe(ClazzCreator.java:332)
    at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:374)
    at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:471)
    at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:228)
    at org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:85)
    at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2072)
    at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:114)
    at org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:698)
    at org.jvnet.hk2.internal.ThreeThirtyResolver.resolve(ThreeThirtyResolver.java:78)
    at org.jvnet.hk2.internal.ClazzCreator.resolve(ClazzCreator.java:211)
    at org.jvnet.hk2.internal.ClazzCreator.resolveAllDependencies(ClazzCreator.java:234)
    at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:357)
    at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:471)
    at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:228)
    at org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:85)
    at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2072)
    at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:114)
    at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:88)
    at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.oneJob(CurrentTaskFuture.java:1213)
    at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.run(CurrentTaskFuture.java:1144)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:643)
    at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:348)
    at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:333)
    at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:54)
    at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
    at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:617)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:397)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:346)

Removing that configuration makes it run in 12.2.1.

Im using

<jersey.version>2.23.1</jersey.version>

How can I make it run on both versions without having to change the config file? I want to have the same code base and simply deploy to multiple versions of WebLogic without having to worry about library versions.

解决方案

Next to <prefer-application-packages> in weblogic.xml add:

<prefer-application-resources>
  <!-- apis -->
  <resource-name>javax.ws.rs.*</resource-name>
  <!-- jersey -->
  <resource-name>META-INF/services/org.glassfish.jersey.*</resource-name>
  <resource-name>com.sun.jersey.*</resource-name>
  <resource-name>org.glassfish.jersey.*</resource-name>
  <resource-name>jersey.repackaged.*</resource-name>
  <!-- hk2 -->
  <resource-name>META-INF/services/org.glassfish.hk2.*</resource-name>
  <resource-name>org.glassfish.hk2.*</resource-name>
  <resource-name>org.jvnet.hk2.*</resource-name>
  <resource-name>org.jvnet.hk2.tiger_types.*</resource-name>
</prefer-application-resources>

... and check whether it really is "hk2.tiger_types" or only "tiger_types".

这篇关于WL 12.2.1 和 12.1.3 上的 Jersey 2.x Web APP的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆