OSGi - 在日食之外运行

时间:2012-03-05 07:18:01

标签: eclipse jdbc osgi eclipselink osgi-fragment

我一直在努力让我的OSGi应用程序在eclipse之外运行。它肯定不像我想象的那么容易,当然不仅仅是运行java -jar org.eclipse.osgi_3.7.1.jar并安装插件的情况。

我希望这是最后一个问题

  

java.sql.SQLException:没有为jdbc找到合适的驱动程序:mysql:// localhost:3306 /

这在Eclipse中运行良好。我有一个持久性捆绑和几个碎片捆绑,我加载取决于我需要的数据库类型。然后我还有另一个包含数据库JDBC驱动程序的包。在eclipse中我可以运行它,在Eclipse中我已经尝试了一切,包括使用类加载器来加载驱动程序

Activator.context = bundleContext;

Class.forName("com.mysql.jdbc.Driver");

try {
    context.getBundle().loadClass("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
    e.printStackTrace();
}

知道看什么吗?从我可以看到我的设置是相同的,并且都运行相同的包。

1 个答案:

答案 0 :(得分:2)

您的捆绑包是否导入包com.mysql.jdbc

阅读以下维基页面,了解为什么这可能在Eclipse内部工作但在适当的OSGi环境中不起作用的背景:http://wiki.osgi.org/wiki/Why_does_Eclipse_find_javax.swing_but_not_Felix%3F