动态加载需要Java中的类路径引用的类

时间:2017-01-25 22:04:32

标签: java mysql jdbc dynamic-class-loaders

我正在制作一个小型控制台程序,它将文件夹中的所有类文件作为“插件”加载,这样程序就可以通过添加新类来自定义。

问题在于:插件使用SQL库为数据库提供简单的查询系统。为了包含jdbc驱动程序,它具有以下代码:

String driver = "com.mysql.jdbc.Driver";
Class.forName(driver).newInstance();

我编译它将驱动程序jar添加到类路径中:

javac -classpath ./libs/mysql-connector-java-5.1.40-bin.jar sqlquery.java

当我运行加载插件的.class文件的主jar时,即使我在程序类路径中指定了驱动程序jar,它在调用ClassNotFoundException类时会抛出com.mysql.jdbc.Driver

我该怎么办?

1 个答案:

答案 0 :(得分:0)

您应该使用-jar-cp将课程加载到课程路径中,您无法将两者合并到

试试这个:

  

java -classpath" main.jar; ./ plugins / libs / mysql-connector-java-5.1.40-bin.jar" sqlquery.java