IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

[JNA] Chargement de librairie sous NetBeans


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 18
    Par défaut [JNA] Chargement de librairie sous NetBeans
    Bonjour,

    Tout d'abord, je tiens à m'excuser si ce sujet n'est pas bien placé, mais j'ignore si cela concerne le package JNA ou l'IDE NetBeans. Ensuite, j'ai eu beau chercher, je n'ai pas trouvé de réponse à ce problème précisément. Peut-être que je ne cherche pas du bon coté.


    Voila plusieurs jours que je bloque sur un problème que je ne comprend pas, et avant d'en venir à des solutions drastiques (corde, toit de l'immeuble, ...), je viens crier à l'aide chez vous.


    Mon problème :

    J'essaie de charger une dll depuis un petit programme JAVA (simplifié ici). J'utilise donc JNA. Mon projet était initialement développé sous Eclipse, aucun problème, mes dll sont chargées, je fais mes traitements, bref, tout roule. Quand me viens l'idée saugrenue de passer sous NetBeans (que je trouve très bien d'ailleurs) pour faciliter la création de mon interface graphique... C'est là que tout a basculé.

    Ma librairie "MLOSMAIN.DLL" est située dans le repertoire :
    C:\truc\lib\

    Il m'est totalement impossible de la charger depuis NetBeans, en utilisant des chemins absolus (code ci-dessous). Le même code, avec le même chemin absolu, exécuté sous Eclipse, fonctionne parfaitement. Bref, ca me dépasse. Ça doit pas être une histoire de path de NetBeans puisque les chemins sont absolus, a moins que j'ai loupé quelque chose de ce coté la. J'ai bien essayé le fameux : -Djna.library.path="C:\truc\" au lancement de la JVM, mais sans succès (avec des chemins relatifs, bien sur...). De toutes façons, j'ai un doute sur son utilité, puisque je n'en ai pas eu besoin sous Eclipse.

    Le chargement du fichier texte se passe bien avec les deux IDE, il est dans le même dossier que la DLL.

    Auriez-vous une idée de la source du problème? Je suis certainement passé à coté de quelque chose de tout bête, le tout est de savoir quoi



    Merci.


    Edit : Précision, je souhaite bien sur que le chargement des librairie soit fait avec un chemin relatif, mais je pense que la première étape est déjà de comprendre ce problème.

    Edit2 : J'obtiens bien evidemment une :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UnsatisfiedLinkError: Unable to load library 'C:\truc\lib\MLOSMAIN': Le module spécifié est introuvable.
    Mais vous vous en doutiez... ^^


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    package test;
     
    import com.sun.jna.Native;
    import java.io.BufferedReader;
    import java.io.FileReader;
     
    public class Main {
     
        public static void main(String[] args) throws Exception{
    	        System.setProperty("jna.library.path", "C:\\truc");
            	System.setProperty("netbeans.library.path", "C:\\truc");
     
    		BufferedReader br = new BufferedReader(new FileReader("C:\\truc\\lib\\test.txt"));
     
            	JNAXCore MLOSMAIN_LIBRARY = (JNAXCore) Native.loadLibrary("C:\\truc\\lib\\MLOSMAIN", JNAXCore.class);
     
        }
     
    }


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    package test;
     
    import com.sun.jna.Library;
     
    public interface JNAXCore extends Library{
     
    }

  2. #2
    Invité de passage
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 1
    Par défaut ...
    Dsl je n'y connais rien donc je ne peux pas t'aider. ^^

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 18
    Par défaut
    Arhh j'ai eu un espoir en voyant une réponse


    Merci quand même

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 18
    Par défaut
    Personne n'a une petite idée? C'est vraiment gênant pour bosser convenablement... Je dois switcher entre eclipse et NetBeans en permanence


    Par contre avec eclipse c'est vraiment nickel, ca fonctionne en relatif sans rien lui dire de spécial... Même pas besoin de modifier le jna.library.path...


    J'ai aussi lu que JNA devait se débrouiller pour aller chercher dans le path de windows, ce qui ne semble pas être le cas chez moi. Ca ne fonctionne pas si je met ma librairie dans system32, ce qui semble vachement bizarre puisque je peux charger la librairie "msvcrt" qui s'y trouve.

    J'ai bien pensé que msvcrt pouvait se trouver dans un repertoire bin du jre, j'y ai donc copié ma dll... Ca ne fonctionne pas plus.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 18
    Par défaut
    Un petit up, au cas ou, et parceque le problème est chiant


    Y'a vraiment personne qui a rencontré ce type d'ennui? J'en appelle aux personnes qui ont utilisé JNA avec NetBeans : comment avez-vous chargé votre librairie? Quelles variables avez-vous mis à jour? Comment?

    Et pour ceux qui connaissent mieux les différents path utilisés par les deux entités, pourquoi ca fonctionne avec eclipse et pas avec netbeans?


    Merci.

Discussions similaires

  1. [JNA] Problème de chargement de librairie
    Par krapo13 dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 16/06/2011, 09h23
  2. Import de librairie sous Netbeans en C
    Par Erouans dans le forum NetBeans
    Réponses: 2
    Dernier message: 06/12/2009, 03h22
  3. Chemin des librairies sous NetBeans
    Par Road.Runner dans le forum NetBeans
    Réponses: 1
    Dernier message: 23/06/2009, 18h20
  4. JNA chargement de librairie statique
    Par Aurazed dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 07/03/2008, 16h57
  5. Réponses: 8
    Dernier message: 25/06/2007, 13h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo