Mysql OSGI(Eclipse IDE)中的JDBC驱动程序

Mysql OSGI(Eclipse IDE)中的JDBC驱动程序,mysql,jdbc,osgi,Mysql,Jdbc,Osgi,我在让我的OSGI程序重新编译/使用mysql jdbc驱动程序时遇到了一些问题 我有一个包,专门用于将数据输入mysql数据库。我复制了测试程序中所有相同的方法(非OSGI)。我无法使用DriverManager.getConnection()创建连接 我已经将驱动程序添加到类路径中,并尝试了该站点上的所有解决方案,例如使用class.forName()。可能我在forName()中输入了错误的字符串arg 有人能告诉我他们在Class.forName()中使用的参数吗 有没有人能解决这个问

我在让我的OSGI程序重新编译/使用mysql jdbc驱动程序时遇到了一些问题

我有一个包,专门用于将数据输入mysql数据库。我复制了测试程序中所有相同的方法(非OSGI)。我无法使用DriverManager.getConnection()创建连接

我已经将驱动程序添加到类路径中,并尝试了该站点上的所有解决方案,例如使用class.forName()。可能我在forName()中输入了错误的字符串arg

  • 有人能告诉我他们在Class.forName()中使用的参数吗

  • 有没有人能解决这个问题,或者遇到过这个问题


谢谢,这解决了classNotFound异常。现在我有一个错误,说司机不合适。我知道OSGI在驱动程序等方面存在一些问题。有人能推荐一种方法来避免这种情况吗

我已经将JDBCJAR放在java安装bin文件夹和捆绑包的bin文件夹中

ClassLoader DBHCL = ClassLoader.getSystemClassLoader();
DBHCL.loadClass("com.mysql.jdbc.Driver");
Class.forName("com.mysql.jdbc.Driver", true, DBHCL).newInstance();
System.out.println("Class Loaded");
//DriverManager.getDriver("jdbc:mysql://localhost/timedb");
//System.out.println("Driver Gotten");
conn = DriverManager.getConnection(URL + DBName,username,password);
System.out.println("Connection Created");
stmt = conn.createStatement();
System.out.println("Statement Created");
connFlag = true;
控制台输出,错误: osgi>start 7 数据库服务(MYSQL)正在启动 类加载 未找到适合jdbc的驱动程序:mysql://localhost/timedb 线程“thread-1”插入appliance1时出现异常

有人对这个问题有什么见解吗

谢谢

类。forName(String)
采用完全限定的类名,而不是jar文件。你应该使用类似于

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

我知道这有3年的时间,但我只是回答万一有人用谷歌搜索它。 因此,问题是捆绑包没有从classloade中看到jar,因此您需要在清单中导入其包。 我这样做的方式是,我创建了一个单独的包,其中包含mysql连接器jar。 新项目>现有jar插件;然后,我将其所有包添加到其清单文件中的“导出包”。然后,在我的第一个包中,我将连接器的所有包添加到“导入的包”中,它成功了
Class.forName("com.mysql.jdbc.Driver");