当前位置: 首页 > 面试题库 >

OSGi服务包装罐子

翟承志
2023-03-14
问题内容

我正在尝试创建包装另一个jar的OSGi服务。我将jar添加到项目,类路径和二进制构建中。我在Activator中注册了该服务,但是当消费包调用该服务时,我在包装jar上得到了java.lang.NoClassDefFoundError。有人知道我在做什么错吗?

提前致谢。


问题答案:

您是否正在导出使用者所需的软件包以及实施所需的所有软件包。消费者将需要导入将被引用的所有内容。

附带说明一下,以这种方式创建捆绑软件在Eclipse中无法很好地进行开发(对于运行时而言效果很好)。如果尝试从另一个OSGi项目引用jar中的类或接口,则IDE将无法解析任何内容,因为它无法“查看”
jar中的文件。必须在捆绑包中扩展jar,以使所有内容可见(在IDE中)。Eclipse根据导入和导出自动创建适当的类路径引用,以进行构建。在捆绑软件中没有jar文件的情况下,您将必须显式维护该类路径。



 类似资料:
  • 任何建议都会有帮助的!谢了!

  • 在过去的6个月里,我一直在从repl运行我的Clojure应用程序。 也就是说,每当我想运行应用程序时,我都会加载一个clojure repl,然后输入:(加载文件“src/run.clj”)。。。它运行我的应用程序。 然后,clojure加载了我所有的*。clj文件,编译并运行。 我最近换了莱恩。我想“提前编译/打包”我的代码,这样我就可以得到一个带有Main方法的jar,并通过“java…”直

  • 这个问题很简单,但是我花了两天时间尝试部署我的应用程序。到目前为止还没有。 我的样式只有一个css文件,当我执行jar时,找不到css(404)或者jar不会打包。 如这里所述:Spring Boot可执行jar结构“如果您的应用程序将被打包为jar,请不要使用src/main/webapp文件夹”和“您应该将静态资源放在src/main/resources中” 所以把css放在这里:src/ma

  • 我在Java 8应用程序中使用了处理,它在IntelliJ上运行良好。Gradle导出所有平台的fat jar(下面的代码)打包依赖项后出现问题: 每当我试图打开扩展PApplet的窗口时,它都会引发以下异常: 通用域名格式。约甘普。opengl。GLException:配置文件[GL4bc、GL4、GL3bc、GL3、GLS3、GL2、GLS2]在设备窗口GraphicsDevice[type.

  • 在我的应用程序中,我有一个服务聊天原型客户端。该实现是一个tcp客户端,它在蓝图“init-method”中连接到远程服务器,并在“破坏方法”中断开连接。 我还有另一个捆绑包,它使用此ChatRogcolClient的连接从通道ChatChannel读取和发布消息。目前,我有一个xml文件,它创建了ChatProcolClient的bean,并创建了一个bean ChatChannel,其中注入了

  • 我制作了自己的包装类,我希望那些使用我编译的JAR文件的人都能使用这些包装类。 这个jar文件还包含一个lib文件夹,它还有bouncy castle库,因为包装器的目的是让调用者更容易。现在我的库(名为mylibrary.jar)已经构建完成。 现在,当我将这个jar作为库包含在另一个项目中时,我看到以下错误 线程“AWT-EventQueue-0”java.lang.NoClassDefoun