Eclipse 无法实例化OSGi Get FrameworkFactory错误

Eclipse 无法实例化OSGi Get FrameworkFactory错误,eclipse,osgi,Eclipse,Osgi,我正在尝试使用OSGi和maven来开发一个单独的标准应用程序 我在pom.xml中有以下osgi依赖项 <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.core</artifactId> <version>6.0.0</version> </dependency> 收到了这个错误信息 Excepti

我正在尝试使用OSGi和maven来开发一个单独的标准应用程序

我在pom.xml中有以下osgi依赖项

<dependency>
    <groupId>org.osgi</groupId>
    <artifactId>org.osgi.core</artifactId>
    <version>6.0.0</version>
</dependency>
收到了这个错误信息

Exception in thread "main" java.util.ServiceConfigurationError: org.osgi.framework.launch.FrameworkFactory: Provider org.osgi.framework.launch.FrameworkFactory could not be instantiated
at java.util.ServiceLoader.fail(ServiceLoader.java:232)
at java.util.ServiceLoader.access$100(ServiceLoader.java:185)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:384)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at com.scottfu.ci.test.OSGiTest.main(OSGiTest.java:19)
Caused by: java.lang.InstantiationException:    org.osgi.framework.launch.FrameworkFactory
at java.lang.Class.newInstance(Class.java:427)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
... 3 more
Caused by: java.lang.NoSuchMethodException: org.osgi.framework.launch.FrameworkFactory.<init>()
at java.lang.Class.getConstructor0(Class.java:3082)
at java.lang.Class.newInstance(Class.java:412)
... 4 more
线程“main”java.util.ServiceConfigurationError:org.osgi.FrameworkFactory.launch.FrameworkFactory:Provider org.osgi.framework.launch.FrameworkFactory中的异常无法实例化
在java.util.ServiceLoader.fail处(ServiceLoader.java:232)
在java.util.ServiceLoader.access$100(ServiceLoader.java:185)
位于java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:384)
位于java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
位于java.util.ServiceLoader$1.next(ServiceLoader.java:480)
位于com.scottfu.ci.test.OSGiTest.main(OSGiTest.java:19)
原因:java.lang.InstanceException:org.osgi.framework.launch.FrameworkFactory
位于java.lang.Class.newInstance(Class.java:427)
位于java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
... 3个以上
原因:java.lang.NoSuchMethodException:org.osgi.framework.launch.FrameworkFactory。()
位于java.lang.Class.getConstructor0(Class.java:3082)
位于java.lang.Class.newInstance(Class.java:412)
... 4更多

怎么了?

您添加的依赖项是OSGi核心API

您需要像equinox、felix或knopflerfish这样的实现

例如:

不要添加您提到的依赖项,而是添加

<dependency>
    <groupId>org.apache.felix</groupId>
    <artifactId>org.apache.felix.main</artifactId>
    <version>5.6.2</version>
</dependency>

org.apache.felix
org.apache.felix.main
5.6.2

您添加的依赖项是OSGi核心API

您需要像equinox、felix或knopflerfish这样的实现

例如:

不要添加您提到的依赖项,而是添加

<dependency>
    <groupId>org.apache.felix</groupId>
    <artifactId>org.apache.felix.main</artifactId>
    <version>5.6.2</version>
</dependency>

org.apache.felix
org.apache.felix.main
5.6.2