我有一个 OSGi 包,我在其中使用 java 邮件 api 来添加邮件功能。
我面临的问题是,捆绑类加载器没有在加载本地或全局类时创建的类路径变量中添加 mail-1.4.jar 和 activation.jar 的条目。
我在清单的捆绑类路径中添加了 mail-1.4.jar 和 activation.jar,这些 jar 是简单的 jar(不是 OSGi 捆绑)。这些在我的包中的 lib 目录中。现在在加载 javax.mail.Address 类 ClassNotFoundException 时抛出。这是我使用命令行运行我的应用程序的时候。
当我在 Eclipse 中运行它时,它工作得很好。我使用Equinox作为我的容器。有什么建议么?
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