[英]Dynamically load classes that need classpath reference in Java
我正在制作一個小型控制台程序,該程序將所有類文件作為“插件”加載到文件夾中,以便可以通過添加新類來對該程序進行自定義。
這是問題所在:插件使用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,它在調用com.mysql.jdbc.Driver
類時com.mysql.jdbc.Driver
引發ClassNotFoundException
。
我能做什么?
您應該使用-jar
或-cp
將類加載到類路徑中, 但不能將兩者結合使用 。
嘗試這個:
java -classpath“ main.jar; ./ plugins / libs / mysql-connector-java-5.1.40-bin.jar” sqlquery.java
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.