Peut-être que c'est une question en double, mais je n'ai pas trouvé quelque chose par moi-même.But de java.library.path
Fondamentalement, j'ai un problème de compréhension.
J'ai une application qui fonctionne très bien quand je l'appelle comme suit:
java -Duser.dir="some path" -Djava.library.path="pathToDLL1;pathToDLL2;pathToMyDir" classToCall par1
Avec l'appel ci-dessus mon application démarre et fonctionne.
Mon problème de compréhension est dans le répertoire pathToMyDir (le contenu de ce répertoire est principalement quelques DLLs nécessaires). Lorsque je lance la même application avec la commande suivante, elle échouera.
java -Duser.dir="some path" -Djava.library.path="pathToMyDir;pathToDLL1;pathToDLL2" classToCall par1
Je ne suis pas sûr que ce soit à cause de certaines dépendances, mais je pensais que le java.library.path est principalement utilisé pour dire java où chercher des bibliothèques externes. Ou est-ce faux? Y a-t-il aussi des informations de commande cachées?
Jeff Storey a raison. Vous ne devez jamais inclure de fichiers jar dans java.library.path: ils sont simplement ignorés. Je ne sais pas pourquoi votre application échoue. Essayez de vérifier le chemin à nouveau. Essayez de supprimer Jar1 et Jar2 de java.library.path et placez-les dans -cp (classpath). – AlexR
Je pense qu'il a raison à coup sûr et j'ai vraiment tort. J'ai fait une faute de frappe terrible. Il ne devrait pas être pathToJar il devrait être pathToDll. Bien sûr, je ne vais pas mettre un chemin vers un pot dans le chemin de la bibliothèque. – BtD