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

Eclipse Java Discussion :

Code fonctionnel sous eclipse mais non fonctionnel en jar


Sujet :

Eclipse Java

  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 389
    Points : 227
    Points
    227
    Par défaut Code fonctionnel sous eclipse mais non fonctionnel en jar
    Bonjour a tous,

    j'ai une petit problème gênant.
    J'ai un code qui fonctionne sans problème sous eclipse, mais qui ne fonctionne pas une fois exporté en jar.

    Le code utilise la lib http://djproject.sourceforge.net/ns/index.html

    voici le code (c'est un code d'exemple de fonctionnement de la lib)
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
    package ihm;
     
    /*  
     * Christopher Deckers (chrriis@nextencia.net)  
     * http://www.nextencia.net  
     *  
     * See the file "readme.txt" for information on usage and redistribution of  
     * this file, and for a DISCLAIMER OF ALL WARRANTIES.  
     */
     
    import java.awt.BorderLayout;
    import java.awt.FlowLayout;
    import java.awt.event.ItemEvent;
    import java.awt.event.ItemListener;
     
    import javax.swing.BorderFactory;
    import javax.swing.JCheckBox;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.SwingUtilities;
     
    import chrriis.common.UIUtils;
    import chrriis.dj.nativeswing.swtimpl.NativeInterface;
    import chrriis.dj.nativeswing.swtimpl.components.JWebBrowser;
     
    /**
     * @author Christopher Deckers
     */
    public class Test extends JPanel {
     
    	public Test() {
    		super(new BorderLayout());
    		JPanel webBrowserPanel = new JPanel(new BorderLayout());
    		webBrowserPanel.setBorder(BorderFactory
    				.createTitledBorder("Native Web Browser component"));
    		final JWebBrowser webBrowser = new JWebBrowser();
    		webBrowser.navigate("http://www.google.com");
    		webBrowserPanel.add(webBrowser, BorderLayout.CENTER);
    		add(webBrowserPanel, BorderLayout.CENTER);
    		// Create an additional bar allowing to show/hide the menu bar of the
    		// web browser.
    		JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 4, 4));
    		JCheckBox menuBarCheckBox = new JCheckBox("Menu Bar",
    				webBrowser.isMenuBarVisible());
    		menuBarCheckBox.addItemListener(new ItemListener() {
    			public void itemStateChanged(ItemEvent e) {
    				webBrowser.setMenuBarVisible(e.getStateChange() == ItemEvent.SELECTED);
    			}
    		});
    		buttonPanel.add(menuBarCheckBox);
    		add(buttonPanel, BorderLayout.SOUTH);
    	}
     
    	/* Standard main method to try that test as a standalone application. */
    	public static void main(String[] args) {
    		UIUtils.setPreferredLookAndFeel();
    		NativeInterface.open();
    		SwingUtilities.invokeLater(new Runnable() {
    			public void run() {
    				JFrame frame = new JFrame("DJ Native Swing Test");
    				frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    				frame.getContentPane().add(new Test(), BorderLayout.CENTER);
    				frame.setSize(800, 600);
    				frame.setLocationByPlatform(true);
    				frame.setVisible(true);
    			}
    		});
    		NativeInterface.runEventPump();
    	}
     
    }

    Cette lib utilise SWT, dans eclipse j'ai bien sur ajouter au build path le jar de SWT et le jar de la lib.

    Donc savez vous pourquoi cela ne fonctionne pas ?

    Je vous remercie d'avance pour votre aide

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par hannibal.76 Voir le message
    Donc savez vous pourquoi cela ne fonctionne pas ?
    Heu... Quel est le message d'erreur/l'exception que tu obtiens ?


    a++

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 389
    Points : 227
    Points
    227
    Par défaut
    Je fais comment pour voir le message d'erreur vue qu'il s'agit d'un .jar ? je n'ai pas de console !


    PS: petite précision étrange que je viens de découvrir, je peux lancer le jar et cela fonction lorsque je fais en ligne de commande
    La pas de soucis, le soft tourne sans probleme

    par contre lorsque je double clic sur le jar, la sa coince....
    Une idée ?

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Alors c'est sûrement un problème de chemin.
    Lances le jar depuis un autre répertoire pour obtenir le même problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -jar c:\lechemin\vers\le\jar\monJar.jar
    Lorsque tu doubles-clic sur le jar, le répertoire courant ne correspond pas forcément à celui du jar.


    a++

  5. #5
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 389
    Points : 227
    Points
    227
    Par défaut
    Et bien ecoute j'ai essayé de me mettre dans une autre partition et de lancer
    mon jar
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    D:\>java -jar c:\Users\hannibal\Desktop\test.jar
    Et je n'ai pas de problème ....
    Donc d'ou peux venir le problème du lancement via double clic ?

  6. #6
    Membre chevronné
    Inscrit en
    Août 2009
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 1 073
    Points : 1 806
    Points
    1 806
    Par défaut
    Un nom de répertoire avec un espace ?

  7. #7
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par hannibal.76 Voir le message
    Donc d'ou peux venir le problème du lancement via double clic ?
    Vérifies la commande associé au jar. En général sous Windows c'est la clef HKEY_CLASSES_ROOT\jarfile\shell\open\command dans regedit.

    a++

  8. #8
    Membre confirmé Avatar de Kazh Du
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2011
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Novembre 2011
    Messages : 152
    Points : 561
    Points
    561
    Par défaut
    après tu peux toujours mettre ta commande dans un .bat, ça évitera de te prendre la tête si tu veux passer ton appli vers un autre pc (où tu risque de rencontrer le même problème suivant la verion de l'OS et/ou du jre installé)
    Merci d'ajouter un sur les tags qui vous ont aidé

  9. #9
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 389
    Points : 227
    Points
    227
    Par défaut
    OK, donc la commande est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "C:\Program Files (x86)\Java\jre6\bin\javaw.exe" -jar "%1" %*

    J'ai donc utilisé la méthode de Kazh Du.

    Encore merci

  10. #10
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 389
    Points : 227
    Points
    227
    Par défaut
    Enfaite non, cela ne fonctionne pas sur les pc qui n'ont pas le JDK....
    la commande java -jar n'est pas reconnu

  11. #11
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Le JDK est inutile. Le JRE est amplement suffisant...


    a++

  12. #12
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 389
    Points : 227
    Points
    227
    Par défaut
    Il n'existe pas de solution "portable" pour faire le lancement ?

    J'ai coder en java pour la portabilité et résultat, c'est pas portable.....

  13. #13
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Ben c'est portable sur une JVM... donc il faut installer le JRE.

    Quel que soit le langage utilisé tu auras toujours des dépendances...


    a++

  14. #14
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Pour avoir la console avec un jar tu peu activer la console Java dans Panneau de config, Java: Onglet Avancé, Console java, Afficher la console.

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 68
    Points : 116
    Points
    116
    Par défaut
    Citation Envoyé par hannibal.76 Voir le message
    Enfaite non, cela ne fonctionne pas sur les pc qui n'ont pas le JDK....
    la commande java -jar n'est pas reconnu
    Bonjour vous etes sur? c'est un pc sous windows? de quelle année? il doit meme pas être connecté au net pour ne pas avoir de JVM! a moins que ça soit un problème de path??

  16. #16
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 389
    Points : 227
    Points
    227
    Par défaut
    non, en faite, le PC de la personne qui as fait le test est un Windows 7 64bits avec une JVM 32bits !!!!!!


    Il n'y a pas un moyen pour que dans mon code, je puisse loader le bon jar SWT en fonction de l'OS ?

  17. #17
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par hannibal.76 Voir le message
    Il n'y a pas un moyen pour que dans mon code, je puisse loader le bon jar SWT en fonction de l'OS ?
    Quel est l'erreur que tu obtiens sur ce PC ?
    Comment déploies-tu tout cela ?

    a++

  18. #18
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 389
    Points : 227
    Points
    227
    Par défaut
    Quel est l'erreur que tu obtiens sur ce PC ?
    j'obtiens que la commande java n'est pas reconnue.

    Comment déploies-tu tout cela ?
    Je fournie juste un jar exécutable qui contient juste la lib SWT pour windows 32 ou windows 64 btis

    Moi ce que je voudrai c'est avoir juste un jar qui contient toutes les lib SWT et que seule la bonne lib soit charger en fonction du systeme sur lequel il est exécuté.

  19. #19
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 794
    Points
    4 794
    Par défaut
    Citation Envoyé par hannibal.76 Voir le message
    OK, donc la commande est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "C:\Program Files (x86)\Java\jre6\bin\javaw.exe" -jar "%1" %*

    J'ai donc utilisé la méthode de Kazh Du.

    Encore merci
    Pourquoi utiliser javaw.exe au lieu de java.exe ???

    Tu devrais essayer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "C:\Program Files (x86)\Java\jre6\bin\java.exe" -jar MonAppli.jar
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  20. #20
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 389
    Points : 227
    Points
    227
    Par défaut
    non le javaw est ce que moi j'ai dans la base de registre windows
    (d’ailleurs quel est la différence entre java.exe et javaw.exe ???)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Thread qui fonctionne sous eclipse mais pas depuis un jar ?
    Par POKOU dans le forum Concurrence et multi-thread
    Réponses: 3
    Dernier message: 01/07/2014, 16h56
  2. fonctionne sous eclipse mais pas dans un jar
    Par lionel.barrere dans le forum JPA
    Réponses: 3
    Dernier message: 28/01/2010, 14h48
  3. Réponses: 20
    Dernier message: 21/04/2008, 14h12
  4. Code non fonctionnel sous Firefox
    Par linar009 dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 24/07/2006, 16h13
  5. Code non fonctionnel sous IE
    Par Nip dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/06/2006, 14h59

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