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

NetBeans Java Discussion :

Programme qui s'ouvre sous netbean mais qui plante en lançant le jar


Sujet :

NetBeans Java

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Programme qui s'ouvre sous netbean mais qui plante en lançant le jar
    Bonjour à tous.

    Je me permets de vous exposer mon souci...

    J'ai crée une application en java. Celle-ci récupère des données dans une base Sqlite pour les présenter sous forme de lignes dans une Jtable.

    Ensuite, l'utilisateur sélectionne la ligne voulue puis clique sur un bouton pour intégrer les informations de la ligne dans les balises d'un modèle libreoffice (.ott). C'est l'appli elle même qui pilote libreoffice (ouverture, inscription des données, etc...)

    Sous netbean pas de soucis tout fonctionne à merveille. Lorsque je crée mon .jar (nettoyer et construire) et que je le lance il fonctionne jusqu'au moment où je sélectionne la ligne de ma base de données et que je clique sur le bouton. Je n'ai aucun message, l'appli se ferme toute seule.

    Je précise juste que j'ai également inséré un thread sous la forme d'une jframe 'veuillez patienter'.

    Je posterai bien un bout de code mais ne sachant pas exactement où l'appli plante....

    Pour info également j'ai un peu galéré à trouver les bibliothèques libreoffice (juh, jurt, ridl,unoil et sqlitejdbc) mais pourquoi le jar n'ouvre pas libreOffice alors que netbean le fait?
    Et quelle partie de code est en cause?

    Si quelqu'un a une idée? Par avance merci.

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Sur quel OS tu testes ? Si ce n'est déjà pas le cas, lance une console et lance ton application en ligne de commandes (java -jar nomdujar): tu y verras les traces de l'exception qui se produit. Si tu ne vois rien, c'est que tu ne la traces pas.

    Si l'application se ferme toute seule, c'est soit que ton code la ferme, soit qu'elle crashe. Dans ce cas, tu dois avoir un rapport de crash dans le dossier de java.exe.

    Je m'interroge par ailleurs se la signification de :

    Citation Envoyé par corv13 Voir le message
    Je précise juste que j'ai également inséré un thread sous la forme d'une jframe 'veuillez patienter'.
    L'UI doit toujours être exécutée dans le thread de l'UI (Event Dispatcher Thread pour une UI Swing) : dans le cas contraire, on peut obtenir des effets indésirables, comme des crashes parfois.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Merci Joël de t’intéresser à mon soucis

    Alors je suis sous windows 7 et effectivement, je n'y avais pas pensé au moment du message mais je l'ai fais après, en mode console j'ai un message d'erreur :
    com.sun.star.comp.helper.BootstrapException : no office executable found!

    Donc j'ai déjà fais quelques recherches et apparemment cela viendrait du Boostrap lors de l'ouverture de LibreOffice. Mais j'ai beau regarder je ne vois pas où....
    Variable d'environnement libreoffice pas bonne? Je vais essayer ce matin sur un autre environnement (linux) voir si cela vient de la config de mon pc ici.....

    Je te pose mon code voir... je sais c'est pas beau mais je suis novice et me débrouille avec les moyens du bord.... déjà je n'ai plus mon 286sx c'est déjà un progrès....


    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
    21
    22
    23
    24
     public static com.sun.star.frame.XDesktop getDesktop() 
    {
        com.sun.star.frame.XDesktop xDesktop = null;
        com.sun.star.lang.XMultiComponentFactory xMCF = null;
         try 
    	{
            com.sun.star.uno.XComponentContext xContext  = Bootstrap.bootstrap();
            xMCF = xContext.getServiceManager();
            if( xMCF != null ) 
            {
                System.out.println("Connecté a office ...");
                Object oDesktop = xMCF.createInstanceWithContext("com.sun.star.frame.Desktop", xContext);
                xDesktop = (com.sun.star.frame.XDesktop) UnoRuntime.queryInterface(com.sun.star.frame.XDesktop.class, oDesktop);
     
            }
            else
                System.out.println( "Ne peux creer le desktop. Pas de connection, pas office servicemanager valide!" );
        }
        catch( Exception e) 
    {
            e.printStackTrace(System.err);
            System.exit(1);
        }
        return xDesktop;


    Merci encore

Discussions similaires

  1. [Débuter] Programme qui fonctionne sous Linux mais qui plante sous Windows 7
    Par p1a2t3 dans le forum Qt Creator
    Réponses: 1
    Dernier message: 22/11/2014, 12h38
  2. Réponses: 13
    Dernier message: 19/11/2013, 07h37
  3. Une erreur de syntaxe sous SqlServer? mais qui marche quand meme
    Par dzenakhra dans le forum Développement
    Réponses: 4
    Dernier message: 18/11/2008, 18h04
  4. Réponses: 3
    Dernier message: 14/05/2008, 13h41
  5. Autorun qui marche sous xp, mais qui plante sous 2000
    Par Mauricette dans le forum Windows 2000/Me/98/95
    Réponses: 4
    Dernier message: 11/04/2008, 15h39

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