J'avais une question sur la différence d'exécution de deux commandes liées à jython. J'ai des problèmes avec les pilotes classpath et db.Problème Jython avec les chemins de classes
Ce qui fonctionne pour moi procédez comme suit: Jython -J-classpath ../lib/mysql-connector-java-5.1.7.jar test.py/home/test/données
Course à commande tout fonctionne comme prévu, donc je voulais combiner mes scripts pour être exécuté comme un pot afin de ne pas avoir besoin de Jython. Une fois que j'ai terminé la création de mon pot tout fonctionne jusqu'à ce qu'il arrive au point où j'ai besoin du pilote et renvoie une erreur de pilote non trouvé.
je lance ceci comme suit: java -cp ../lib/mysql-connector-java-5.1.7.jar mytest.jar test.py/home/test/données
Je suis Je ne suis pas sûr de comprendre pourquoi l'un fonctionnerait et l'autre ne fonctionnerait pas.
Merci
Lorsque vous exécutez des programmes Java via Ant, beanshell, Jython ou autre, dans certains cas, les classes sont chargées dans un chargeur de classe personnalisé au lieu du "classloader par défaut". Par exemple, en démarrant un script beanshell puis en chargeant dynamiquement le jar dans le script, le .jar est chargé dans un chargeur de classe personnalisé et les classes qui doivent être chargées avec la méthode Class.forname, comme les pilotes JDBC, auront donc des problèmes dans l'environnement . Tant que vous chargez des choses dans le chargeur de classe par défaut, vous n'aurez pas de problèmes. – djangofan