102 votes

Comment faire pour ajouter à la bibliothèque native de java".de la bibliothèque.chemin" avec Eclipse lancement (au lieu de remplaçant)

J'ai une bibliothèque native qui doit être ajoutée à java.de la bibliothèque.chemin d'accès. Avec l'argument JVM -Djava.de la bibliothèque.chemin=chemin... je pouvez définir le chemin que je veux.

Mon problème est que mon autre bibliothèque (pentaho reporting) des recherches de polices en fonction de la valeur par défaut de java.de la bibliothèque.chemin d'accès (y compris les répertoires système, etc) et le réglage manuel remplace le chemin par défaut..

Donc : comment puis-je ajouter une entrée de chemin d'accès par défaut de java.de la bibliothèque.chemin d'accès au lieu de la remplaçant (qui semble être fait avec -Djava.de la bibliothèque.chemin d'accès)? (Je ne voudrais pas ajouter le chemin d'accès par défaut à la main, ce qui ne serait pas agréable pour l'amour de déploiement)

EDIT: Désolé pour le manque de détails, je travaille avec Eclipse. (Le déploiement se fait avec JNLP et là, je peux utiliser nativelib en vertu de ressources)

53voto

Touko Points 3393

Avait oublié ce problème... j'étais en train de demander avec Eclipse, désolé de ne pas en indiquant que l'origine. Et la réponse semble être trop simple (au moins 3,5; probablement avec des versions plus anciennes aussi):

D'exécution Java configuration Arguments : VM arguments:

-Djava.library.path="${workspace_loc:project}\lib;${env_var:PATH}"

Ne faut pas oublier les guillemets, sinon il y a des problèmes avec des espaces dans le CHEMIN d'accès.

14voto

Fabian Steeg Points 24261

Si vous souhaitez ajouter une bibliothèque native, sans interférer avec java.library.path lors du développement, dans Eclipse (pour éviter notamment les chemins absolus et d'avoir à ajouter des paramètres à votre configuration de lancement), vous pouvez fournir le chemin d'accès aux bibliothèques natives emplacement de chaque Pot dans le Java Build Path boîte de dialogue Native emplacement de la bibliothèque. Notez que la bibliothèque native nom du fichier doit correspondre au fichier Jar nom. Voir aussi la description détaillée.

9voto

Aaron Digulla Points 143830

SWT met le nécessaire Dll natives dans un BOCAL. Recherche pour "org.eclipse.swt.win32.win32.x86_3.4.1.v3449c.jar" pour un exemple.

Les Dll doivent être à la racine du POT, le POT doit être signé et la DLL doit apparaître avec la somme de contrôle dans le META-INF/MANIFEST.MF pour la VM pour les ramasser.

5voto

andy boot Points 3270

Comme ceci:

-Djava.de la bibliothèque.chemin="C:/MyLibPath;%PATH%"

%PATH% est votre ancien -Djava.de la bibliothèque.chemin

2voto

Simon Nickerson Points 17147

Vous pouvez contourner cela en appelant Système.load() par programme pour charger votre bibliothèque native? Cette méthode (à la différence du Système.loadLibrary()) permet de spécifier un chemin d'accès absolu.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X