我想讓框架工廠在我的Maven項目中加載OSGi包。我試過以下內容:在OSGi中加載框架工廠
import org.osgi.framework.launch.FrameworkFactory;
public class Activator implements BundleActivator {
public void start(BundleContext context) throws Exception {
FrameworkFactory ff = ServiceLoader.load(FrameworkFactory.class).iterator().next();
}
}
我的包中有jar org.apache.felix.framework-4.4.1.jar。 MANIFEST.MF條目:
...
Bundle-ClassPath: .,provider-0.0.1-SNAPSHOT.jar,org.apache.felix.framework-4.4.1.jar
...
,但我得到了以下錯誤:我曾經在費利克斯容器下面嘗試是錯誤:
java.util.NoSuchElementException
at java.util.ServiceLoader$LazyIterator.next(Unknown Source)
at java.util.ServiceLoader$1.next(Unknown Source)
at com.xxxxx.consumer.Activator.start(Activator.java:23)
at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:645)
at org.apache.felix.framework.Felix.activateBundle(Felix.java:2154)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2072)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1299)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)
at java.lang.Thread.run(Unknown Source)
請幫我解決這個問題。我想加載出現在我的Bundle-Classpath中的OSGi包。
」存在於我的Bundle-ClassPath中的OSGi包「。我認爲你誤解了一些根本性的東西。你不會把束放在你自己的classpath上......如果你這樣做了,它們就不再捆綁了。 –