簡體   English   中英

如何修復 org.osgi.framework.BundleException:導入的 package 名稱不能為零長度

[英]How to fix org.osgi.framework.BundleException: Imported package names cannot be zero length

我有包含許多使用 OSGI 包的模塊的整體代碼,我需要從 jdk8 升級到 jdk11,在部署中我收到了很多與 OSGI 和 apache.felix 相關的錯誤和警告:比如:

OSGI cant resolved dependency with version: xxx and warning like: 
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.felix.framework.ext.ClassPathExtenderFactory$DefaultClassLoaderExtender (file:/full-test/framework/org.apache.felix.framework-5.6.10.jar) to method java.net.URLClassLoader.addURL(java.net.URL)
WARNING: Please consider reporting this to the maintainers of org.apache.felix.framework.ext.ClassPathExtenderFactory$DefaultClassLoaderExtender
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

所以我將 felix.framework 更新到 7+ 版本,將 OSGI 更新到最新版本 1.4.0。 現在我在將映像部署到 docker 時遇到此錯誤:

 org.osgi.framework.BundleException: Imported package names cannot be zero length.
ngwi      |     at org.apache.felix.framework.util.manifestparser.ManifestParser.normalizeImportClauses(ManifestParser.java:361)
ngwi      |     at org.apache.felix.framework.util.manifestparser.ManifestParser.<init>(ManifestParser.java:186)
ngwi      |     at org.apache.felix.framework.BundleRevisionImpl.<init>(BundleRevisionImpl.java:117)
ngwi      |     at org.apache.felix.framework.BundleImpl.createRevision(BundleImpl.java:1290)
ngwi      |     at org.apache.felix.framework.BundleImpl.<init>(BundleImpl.java:114)
ngwi      |     at org.apache.felix.framework.Felix.installBundle(Felix.java:3287)
ngwi      |     at org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:147)
ngwi      |     at org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:120)
ngwi      |     at com.intuit.cto.wi.rest.osgi.listener.ProvisionActivator.start(ProvisionActivator.java:35)
ngwi      |     at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:849)
ngwi      |     at org.apache.felix.framework.Felix$SystemBundleActivator.start(Felix.java:5173)
ngwi      |     at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:849)
ngwi      |     at org.apache.felix.framework.Felix.init(Felix.java:899)
ngwi      |     at org.apache.felix.framework.Felix.init(Felix.java:648)
ngwi      |     at com.intuit.cto.wi.rest.osgi.ApacheFelix.start(ApacheFelix.java:56)
ngwi      |     at com.intuit.cto.wi.rest.osgi.listener.FrameworkService.doStart(FrameworkService.java:63)
ngwi      |     at com.intuit.cto.wi.rest.osgi.listener.FrameworkService.start(FrameworkService.java:41)
ngwi      |     at com.intuit.cto.wi.rest.osgi.listener.StartupListener.contextInitialized(StartupListener.java:24)
ngwi      |     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4763)
ngwi      |     at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5232)
ngwi      |     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
ngwi      |     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:753)
ngwi      |     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:727)
ngwi      |     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:695)
ngwi      |     at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1016)
ngwi      |     at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1903)
ngwi      |     at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
ngwi      |     at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
ngwi      |     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
ngwi      |     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
ngwi      |     at java.base/java.lang.Thread.run(Thread.java:829)

以及未解決的捆綁包。 如何解決這些問題?

在我的情況下,由於 java 版本問題而發生此錯誤。 可能是你的代碼不支持 jdk11

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM