私は、新しいクラスを追加してプログラムをカスタマイズできるように、フォルダ内のすべてのクラスファイルを "プラグイン"としてロードする小さなコンソールプログラムを作成しています。Javaでクラスパス参照を必要とするクラスを動的にロードする
問題は次のとおりです。プラグインはSQLライブラリを使用してデータベースに簡単なクエリシステムを提供します。私はプラグインの.classファイルをロードし、メインjarファイルを実行すると
javac -classpath ./libs/mysql-connector-java-5.1.40-bin.jar sqlquery.java
:それはクラスパスにドライバのjarを追加私はコンパイル
String driver = "com.mysql.jdbc.Driver";
Class.forName(driver).newInstance();
:JDBCドライバを含めるためには、次のコードを持っています私がプログラムクラスパスにドライバjarを指定したとしても、com.mysql.jdbc.Driver
クラスを呼び出すときにはClassNotFoundException
がスローされます。
どうすればよいですか?
あなたはプログラムを実行するときにクラスパス上のライブラリが必要です。 –
私はそうしています、私はシェルコマンド 'java -classpath"でプログラムを実行しています./plugins/libs/mysql-connector-java-5.1.40-bin.jar "-jar main.jar' –