Je crée un petit programme de console qui charge tous les fichiers de classe dans un dossier en tant que "plugins", afin que le programme puisse être personnalisé en ajoutant de nouvelles classes.Charger dynamiquement des classes nécessitant une référence de classpath en Java
Voici le problème: un plugin utilise la bibliothèque SQL pour fournir un système d'interrogation simple à une base de données. Pour inclure le pilote jdbc il a le code suivant:
String driver = "com.mysql.jdbc.Driver";
Class.forName(driver).newInstance();
Je l'ai compilé ajouter le pot de pilote au classpath:
javac -classpath ./libs/mysql-connector-java-5.1.40-bin.jar sqlquery.java
Quand je lance le pot principal qui charge .class du plugin fichier, même si je spécifie le fichier jar du pilote dans le classpath du programme, il lance un ClassNotFoundException
lors de l'appel de la classe com.mysql.jdbc.Driver
.
Que puis-je faire?
Vous besoin de la bibliothèque sur le chemin de classe lors de l'exécution du programme aussi. –
Je le fais, j'exécute le programme via la commande shell 'java -classpath" ./plugins/libs/mysql-connector-java-5.1.40-bin.jar "-jar main.jar' –