2017-01-25 9 views
0

私は、新しいクラスを追加してプログラムをカスタマイズできるように、フォルダ内のすべてのクラスファイルを "プラグイン"としてロードする小さなコンソールプログラムを作成しています。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がスローされます。

どうすればよいですか?

+0

あなたはプログラムを実行するときにクラスパス上のライブラリが必要です。 –

+0

私はそうしています、私はシェルコマンド 'java -classpath"でプログラムを実行しています./plugins/libs/mysql-connector-java-5.1.40-bin.jar "-jar main.jar' –

答えて

0

クラスパスにクラスをロードするには、-jarまたは-cpのいずれかを使用する必要があります。を組み合わせることはできません。

これを試してみてください:

のjava -classpath "main.jar; ./プラグイン/ libsに/ mysqlの-コネクタのjava-5.1.40-bin.jarを" sqlquery.java

関連する問題