OSGi java.lang.NoClassDefFoundError:org / osgi / framework / BundleContext

时间:2017-05-04 11:22:11

标签: java intellij-idea osgi jmf jitsi

我是OSGi的新手,我在尝试运行此库的示例时遇到了问题:https://github.com/jitsi/libjitsi

java.lang.NoClassDefFoundError: org/osgi/framework/BundleContext
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
at java.lang.Class.getConstructor0(Class.java:3075)
at java.lang.Class.newInstance(Class.java:412)
at org.jitsi.service.libjitsi.LibJitsi.start(LibJitsi.java:247)
at org.jitsi.service.libjitsi.LibJitsi.start(LibJitsi.java:180)
at com.dotsystem.AVTransmit2.main(AVTransmit2.java:327)
Caused by: java.lang.ClassNotFoundException: org.osgi.framework.BundleContext
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 7 more

我是否需要osgi的外部jar?

2 个答案:

答案 0 :(得分:1)

核心osgi类上没有找到类的异常,似乎缺少一个实现OSGi规范的jar / framework jar。检查目标系统支持的OSGi实现。如果您有选择的选择,可以试试,

  1. Apache felix OSGi
  2. Eclipse equinox OSGi

答案 1 :(得分:0)

如果您尝试从IntelliJ运行示例,则可能是您没有导入maven依赖项的问题。将java项目导入IntelliJ时,还必须导入其依赖项(默认情况下不导入它们)。