OSGi バンドルがあり、メール機能を追加するために Java メール API を使用しています。
私が直面している問題は、バンドル クラス ローダーが、ローカルまたはグローバル クラスのロード中に作成するクラスパス変数に mail-1.4.jar および activation.jar のエントリを追加していないことです。
マニフェストのバンドル クラスパスに mail-1.4.jar と activation.jar を追加しました。これらの jar は単純な jar (OSGi バンドルではありません) です。そして、これらは私のバンドルの lib ディレクトリにあります。javax.mail.Address クラスのロード中に ClassNotFoundException がスローされます。これは、コマンドラインを使用してアプリケーションを実行しているときです。
Eclipseで実行すると、完全に正常に動作します。コンテナーとして分点を使用しています。助言がありますか?
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Workexp
Bundle-SymbolicName: com.gslab.workexp
Bundle-Version: 1.0.0
Bundle-Activator: com.gslab.workexp.Activator
Bundle-Vendor: GSLAB
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: org.osgi.framework
Bundle-ClassPath: .,
lib/mysql-connector-java-5.1.20-bin.jar,
lib/commons-beanutils-1.8.0.jar,
lib/commons-collections-2.1.1.jar,
lib/commons-digester-2.1.jar,
lib/commons-javaflow-20060411.jar,
lib/commons-logging-1.1.1.jar,
lib/iText-2.1.7.jar,
lib/jasperreports-4.6.0.jar,
lib/jdt-compiler-3.1.1.jar,
lib/log4j-1.2.9.jar,
lib/mail-1.4.jar,
lib/activation.jar