微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

可选的导入程序包,不在karaf捆绑程序解析器内部进行布线 jersey-media-multipart问题

如何解决可选的导入程序包,不在karaf捆绑程序解析器内部进行布线 jersey-media-multipart问题

我对jersey-media-multipart:2.30.1依赖有疑问。我正在尝试在球衣服务器中注册MultiPartFeature.class。注册功能后,我的karaf捆绑抛出激活错误。在jersey-media-multipart捆绑包内,找不到类 org.glassfish.jersey.server.spi.internal.ValueParamProvider 。您可以在下面查看问题日志。

Component Description: com.ericsson.bss.cus.core.application.rest.registrator.ResourceRegistratorService
========================================================================================================
Class:         com.ericsson.bss.cus.core.application.rest.registrator.ResourceRegistratorService
Bundle:        291 (com.ericsson.bss.cus.core.application.rest.registrator:0.6.0.SNAPSHOT)
Enabled:       true
Immediate:     true
Services:      [com.ericsson.bss.cus.core.application.rest.registrator.ResourceRegistratorService]
Scope:         singleton
Config PID(s): [com.ericsson.bss.cus.core.application.rest.registrator.ResourceRegistratorService],Policy: optional
Base Props:    (0 entries)

Component Configuration Id: 68
------------------------------
State:        Failed ACTIVATION
Service:      347 [com.ericsson.bss.cus.core.application.rest.registrator.ResourceRegistratorService]
Config Props: (2 entries)
  component.id<Long> = 68
  component.name<String> = com.ericsson.bss.cus.core.application.rest.registrator.ResourceRegistratorService
References:   (total 1)
  - HttpService: org.osgi.service.http.HttpService SATISFIED 1..1 static
    target=(*) scope=bundle (1 binding):
    * Bound to [250] from bundle 87 (org.ops4j.pax.web.pax-web-runtime:7.2.11)
Failure:      java.lang.NoClassDefFoundError: org/glassfish/jersey/server/spi/internal/ValueParamProvider
        at org.glassfish.jersey.media.multipart.internal.FormDataParamInjectionFeature.configure(FormDataParamInjectionFeature.java:44)
        at org.glassfish.jersey.model.internal.CommonConfig.configureFeatures(CommonConfig.java:713)
        at org.glassfish.jersey.model.internal.CommonConfig.configureFeatures(CommonConfig.java:721)
        at org.glassfish.jersey.model.internal.CommonConfig.configureMetaProviders(CommonConfig.java:632)
        at org.glassfish.jersey.server.ResourceConfig.configureMetaProviders(ResourceConfig.java:823)
        at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:328)
        at org.glassfish.jersey.server.ApplicationHandler.lambda$initialize$1(ApplicationHandler.java:293)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
        at org.glassfish.jersey.internal.Errors.processWithException(Errors.java:232)
        at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:292)
        at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:259)
        at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:311)
        at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:154)
        at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:347)
        at javax.servlet.GenericServlet.init(GenericServlet.java:244)
        at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:656)
        at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:421)
        at org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$0(ServletHandler.java:746)
        at java.base/java.util.stream.sortedOps$SizedRefSortingSink.end(SortedOps.java:357)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485)
        at java.base/java.util.stream.AbstractPipeline.wrapAndcopyInto(AbstractPipeline.java:474)
        at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:312)
        at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735)
        at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734)
        at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658)
        at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:739)
        at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:361)
        at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.startContext(HttpServiceContext.java:391)
        at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:821)
        at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:276)
        at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doStart(HttpServiceContext.java:267)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
        at org.ops4j.pax.web.service.jetty.internal.JettyServerImpl$1.start(JettyServerImpl.java:329)
        at org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:252)
        at org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:223)
        at org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:207)
        at org.ops4j.pax.web.service.internal.HttpServiceProxy.registerServlet(HttpServiceProxy.java:69)
        at com.ericsson.bss.cus.core.application.rest.registrator.ResourceRegistratorService.initApp(ResourceRegistratorService.java:101)
        at com.ericsson.bss.cus.core.application.rest.registrator.ResourceRegistratorService.activate(ResourceRegistratorService.java:61)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.apache.Felix.scr.impl.inject.methods.BaseMethod.invokeMethod(BaseMethod.java:228)
        at org.apache.Felix.scr.impl.inject.methods.BaseMethod.access$500(BaseMethod.java:41)
        at org.apache.Felix.scr.impl.inject.methods.BaseMethod$Resolved.invoke(BaseMethod.java:664)
        at org.apache.Felix.scr.impl.inject.methods.BaseMethod.invoke(BaseMethod.java:510)
        at org.apache.Felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:317)
        at org.apache.Felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:307)
        at org.apache.Felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:340)
        at org.apache.Felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:114)
        at org.apache.Felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:982)
        at org.apache.Felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:955)
        at org.apache.Felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:756)
        at org.apache.Felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:666)
        at org.apache.Felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:432)
        at org.apache.Felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:665)
        at org.apache.Felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:338)
        at org.apache.Felix.scr.impl.Activator.loadComponents(Activator.java:382)
        at org.apache.Felix.scr.impl.Activator.access$200(Activator.java:49)
        at org.apache.Felix.scr.impl.Activator$ScrExtension.start(Activator.java:264)
        at org.apache.Felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196)
        at org.apache.Felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169)
        at org.apache.Felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49)
        at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482)
        at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415)
        at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232)
        at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444)
        at org.apache.Felix.framework.Eventdispatcher.invokeBundleListenerCallback(Eventdispatcher.java:915)
        at org.apache.Felix.framework.Eventdispatcher.fireEventImmediately(Eventdispatcher.java:834)
        at org.apache.Felix.framework.Eventdispatcher.fireBundleEvent(Eventdispatcher.java:516)
        at org.apache.Felix.framework.Felix.fireBundleEvent(Felix.java:4579)
        at org.apache.Felix.framework.Felix.startBundle(Felix.java:2174)
        at org.apache.Felix.framework.BundleImpl.start(BundleImpl.java:998)
        at org.apache.karaf.bundle.command.Start.executeOnBundle(Start.java:38)
        at org.apache.karaf.bundle.command.BundlesCommand.doExecute(BundlesCommand.java:65)
        at org.apache.karaf.bundle.command.BundlesCommand.execute(BundlesCommand.java:55)
        at org.apache.karaf.shell.impl.action.command.ActionCommand.execute(ActionCommand.java:84)
        at org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:68)
        at org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:86)
        at org.apache.Felix.gogo.runtime.Closure.executeCmd(Closure.java:599)
        at org.apache.Felix.gogo.runtime.Closure.executeStatement(Closure.java:526)
        at org.apache.Felix.gogo.runtime.Closure.execute(Closure.java:415)
        at org.apache.Felix.gogo.runtime.Pipe.doCall(Pipe.java:416)
        at org.apache.Felix.gogo.runtime.Pipe.call(Pipe.java:229)
        at org.apache.Felix.gogo.runtime.Pipe.call(Pipe.java:59)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.classNotFoundException: org.glassfish.jersey.server.spi.internal.ValueParamProvider not found by org.glassfish.jersey.media.jersey-media-multipart [211]
        at org.apache.Felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1639)
        at org.apache.Felix.framework.BundleWiringImpl.access$200(BundleWiringImpl.java:80)
        at org.apache.Felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2053)
        at java.base/java.lang.classLoader.loadClass(ClassLoader.java:521)
        ... 91 more

一段时间后,我可以发现 jersey-media-multipart 内部pom.xml jersey-server 是可选的。内部清单标头还 org.glassfish.jersey.server.spi.internal 包作为可选导入。

enter image description here

enter image description here

enter image description here

我手动编辑了jersey-media-multipart中的清单文件,激活karaf捆绑包而没有错误。在karaf内部,它可以从jersey-server中找到课程。这是与karaf相关的问题还是与球衣相关的问题?

我尝试过但无法解决的一些解决方案。

  1. 尝试使用,包装:mvn:org.glassfish.jersey.media/jersey-media-multipart/2.30.1/$Bundle-SymbolicName=Jersey-Media-Multipart&Import-Package=org.glassfish.jersey .server.spi.internal,!* 但是没有用于包裹的Import-Package选项。

  2. 尝试过,在karaf-maven-plugin中包含includeTransitiveDependency选项,但它有所不同。

  3. Javax-servelet,jersey-server和ect服务器依赖项..尝试将范围更改为提供和其他选项,但不起作用。

你们能帮我找到这个吗?..

解决方法

事实证明,我们提供的 karaf 起始等级高于球衣捆绑包。所以班级有时随机不起来。现在我们减少了karaf启动包的起始等级,然后增加了球衣启动包和业务包,问题解决了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?