私は、最も単純なOSGIの例を特定のJava仮想マシンで動作するかどうかを確認するために作ろうとしています。現在、Open JDK 1.8.0でテストしています。OSGI Activatorクラスが見つかりません
私はthisチュートリアルに従っています。私はパッケージステートメントを.javaファイルから削除したことと、マニフェストから削除したことを除いて全く同じファイルを持っています(私は単純化したいだけです)。
だから、基本的にはマニフェストは以下のようになります。
Bundle-Name: Service listener example
Bundle-Description: A bundle that displays messages at startup and when service events occur
Bundle-Vendor: Apache Felix
Bundle-Version: 1.0.0
Bundle-Activator: Activator
Import-Package: org.osgi.framework
私はjarファイルを生成することができています。
" zip.vim version v27
" Browsing zipfile /home/cosmin/OSGI_Testing/osgi/test.jar
" Select a file with cursor and press ENTER
META-INF/
META-INF/MANIFEST.MF
build/Activator.class
私は.jarファイルをインストールし、私はそれが例外をスロー起動したときには、Apacheフェリックスを実行します:
ERROR: Bundle [1] Error starting file:/home/cosmin/OSGI_Testing/osgi/. /test.jar (org.osgi.framework.BundleException: Not found: Activator)
java.lang.ClassNotFoundException: Activator not found by [1]
at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1610)
at org.apache.felix.framework.BundleWiringImpl.access$200(BundleWiringImpl.java:80)
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2018)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1404)
at org.apache.felix.framework.Felix.createBundleActivator(Felix.java:4505)
at org.apache.felix.framework.Felix.activateBundle(Felix.java:2220)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2145)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1372)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
問題は何それは内容は以下のとおりです。ですか?
ありがとうございました。
デフォルトパッケージをOSGiで使用することはできません。 –