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 :

Fichier jar non-executable


Sujet :

Entrée/Sortie Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 90
    Points : 52
    Points
    52
    Par défaut Fichier jar non-executable
    Bonjour

    Je pense que ce post aura sa place ici dans "JAVA" plutôt que dans "Windows 7"

    Quelqu'un pourrait-il me dire pourquoi un fichier .jar issu d'un fichier d'installation crée sous Izpack n'est pas reconnu sur un PC HP g5450frm tournant sous Windows 7?
    Sous l'Explorateur Windows il est mentionné comme fichier jar et non comme fichier exécutable jar.
    Java, comme il se doit a été téléchargé suivant sa dernière version.
    A noter que le fichier en question fonctionne sans problème sur un PC HP p6346fr ainsi que sur un Dell Inspiron 1512 tous deux sous Windows 7.

    Sur ce PC défectueux, le fichier en question fonctionne sans problème sous la console avec la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\>CheminFchIns>java -jar FchIns.jar
    Et l'application est bien installée avec ses dossiers et son fichier App.jar sur le disque dur.

    D'autre part, cette application fonctionne parfaitement sous la console avec la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\>CheminFchApp\java -jar App.jar
    Par contre, si sous Windows je fais un double-clic sur "Fch-Ins.jar" j'ai le message suivant qui s'affiche:

    Could not find main class.
    C:\user\georges\Téléchargements\Sdk-Ins.jar
    Program will exist.


    Donc du coté fichier d'installation et fichier d'application tout fonctionne parfaitement sous la console, par contre Windows 7 ne semble pas reconnaître ces fichiers comme des exécutables. Pourquoi ???

    J'ai vu sur de multiples forums que ce problème semble être très fréquent et en essayant une quantité de solutions proposées, je n'ai pu jusqu'à présent résoudre mon problème

  2. #2
    Membre régulier
    Homme Profil pro
    Thésard BioInformatique
    Inscrit en
    Décembre 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Thésard BioInformatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 97
    Points : 104
    Points
    104
    Par défaut
    Je crois que ton problème a déjà été résolu ici


    Si tu fais un jar avec des jars, il te faut utilisé fatjar par exemple (plugin eclipse).

    Pourquoi ça marche sur d'autres pc alors ?
    Tu as du créer ton jar sur les autres pc et ton classpath renvoie surement sur le pc. Quand tu exécutes ton jar sur un autre pc, le classpath n'est plus bon. Car il ne point pas sur les librairies de ton jar.

    A priori, ça vient de là.

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2011
    Messages : 65
    Points : 88
    Points
    88
    Par défaut Peut-être une piste
    Bonjour à toi,

    écoute je ne connais pas très bien cet aspect de Java, mais lorsqu'il ne trouve pas une classe Main comme cela, ça provient en général d'un fichier MANIFEST.MF qu'il faut éditer convenablement pour lui indiquer la classe Main. Il faut creuser par là à mon sens, si je me souviens bien il faut y ajouter une ligne du style:

    Main-Class: classname

    Normalement ton fichier manifest doit se trouver dans un dossier WEB-INF dans ton jar.

    J'espère que cela t'aidera, si tu as déjà tenté des choses de e genre dis-nous tout ce que tu as essayé qu'on puisse éliminer des propositions de réponses inutiles

    @+

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 90
    Points : 52
    Points
    52
    Par défaut
    Bonjour,

    J'ai donc recherché le fichier MANIFEST.MF
    Je l'ai bien trouvé dans mon fichier Sdk-Ins.jar où il est dans un dossier META-INF.
    J'ai ouvert ce fichier MANIFEST-MF et voici ce que j'y ai trouvé:

    Manifest-Version:1.0
    Ant-Version: Apache Ant 1.7.1
    Created-by: 1.5.0_22-147 (Apple Inc)
    Build-By: IzPack
    Main-Class: com.izforge.izpack.installer.installer
    Class-Path:

    Qu'est-ce que tu en penses?

    NB: Je m'absente pendant quelques jours et je vais essayer de poursuivre cet échange sur mon mini-portable.

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2011
    Messages : 65
    Points : 88
    Points
    88
    Par défaut
    Et re ^^,

    alors j'en pense qu'il y a de fortes chances qu'en face de Main-Class tu n'aies pas ce qu'il faut. C'est le nom de la classe que tu veux que le jar exécute quand tu le lances. Donc il te faut rééditer ce fichier convenablement et à priori ensuite cela fonctionnera.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 90
    Points : 52
    Points
    52
    Par défaut
    Bonjour Rastafire,

    Me voilà sur mon mini-portable et j'espère que cela va fonctionner.

    Effectivement, il semble bien que c'est dans ce MANIFEST-MF au niveau de Main-Class qu'il va falloir que je fasse une modif.
    Toutefois, avant de m'y lancer, j'aimerais savoir si ce que suppose à ce sujet est correct.

    Au niveau du MANIFEST-MF «*Main-Class*» attend purement et simplement le nom de la classe dans laquelle se trouve la méthode «*main*» cette classe devant avoir le même nom que le programme.

    Je me pose donc la question, comment se fait-il que sur plusieurs micro-ordinateurs il n'y ait aucun problème et que ceux-ci retrouvent bien, semble-t-l, grâce à ce «*package*» le nom en question?

    Alors que sur le PC de mon beau-frère, il ne le retrouve pas (à noter que ce PC Hewlet-Packard est tout neuf)

    Pourrais-tu vérifier sur ton PC si tu peux lancer l'installateur en question donc que tu trouveras http://h-pz.pagesperso-orange.fr/Sdk-Ins.jar ici.
    Si cela est possible c'en serait la démonstration.

    Pour mémoire, le fichier «*Sdk-Ins.jar*» est un fichier d'installation d'un Sudoku que j'ai écrit moi-même et qui fonctionne sur plusieurs machines de tous types XP, Vista et Windows 7.

    Le programme d'installation peut être interrompu dés sa page d'accueil. Si tu veux en faire l'installation complète, sur certaines machines celles-ci interdisent l'installation dans le disque C:
    Il faut alors créer soit-même un répertoire pour pouvoir l'y installer. En général je le crée simplement sous le nom de C:Sdk.

    Je te demanderai, par la suite, comment modifier le MANIFEST-MF, il semblerait que ce soit avec la commande «*jar*» mais je ne sais pas trop comment...

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2011
    Messages : 65
    Points : 88
    Points
    88
    Par défaut Fonctionnement
    Salut à toi.

    En effet je n'ai pas de souci pour exécuter ton installeur personnellement. Je suis au travail actuellement, j'y réfléchis plus tard et je te dis ça. En attendant, peux-tu me préciser un peu la configuration du pc que tu utilises et celle de ton frère?(niveau JRE etc)
    Notamment si tu peux poster une trace de l'erreur dans son intégralité c'est cool.

    A plus

  8. #8
    Candidat au Club
    Homme Profil pro
    Ingénieur en physique nucléaire
    Inscrit en
    Octobre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur en physique nucléaire
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2011
    Messages : 3
    Points : 4
    Points
    4
    Par défaut fichier .jar qui ne s'excecute pas comme il le faut!
    Bonjour,

    J'ai un problème en créant mon fichier .jar. Quand je programme un petit code en Java et que je le lance, tout fonctionne bien, mais quand je crée le fichier .jar et que je l'exécute, une chose ne fonctionne pas: une image devant être présente en haut de fenêtre ne s'affiche pas (alors qu'elle s'affiche quand je lance le prog avec eclipse). Cette image est plaçée dans une Jframe en instanciant la classe suivante:

    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
    73
    74
    75
    76
    77
    78
    import java.awt.Color;
     
    import java.awt.Graphics;
    import java.awt.Image;
    import java.io.File;
    import java.io.IOException;
     
    import javax.imageio.ImageIO;
    import javax.swing.JPanel;
     
    public class Panneau extends JPanel {
     
     
    	private int posX = 100;
    	private int posY = 20;
    	private int widt=600;
    	private int heigh=60;
     
    	public void paintComponent(Graphics g){
     
     
    		g.setColor(Color.WHITE);
    		g.fillRect(0,0,800,600);
     
    		try {
    		Image img=ImageIO.read(new File("neuron.jpg"));
    			g.drawImage(img,posX,posY,widt,heigh,this);
    		}
     
    		catch (IOException e){
    			e.printStackTrace();}
    	}
     
     
     
    	public int getWidt() {
    		return widt;
    	}
     
     
     
    	public void setWidt(int widt) {
    		this.widt = widt;
    	}
     
     
     
    	public int getHeigh() {
    		return heigh;
    	}
     
     
     
    	public void setHeigh(int heigh) {
    		this.heigh = heigh;
    	}
     
     
     
    	public int getPosX() {
    		return posX;
    	}
     
    	public void setPosX(int posX) {
    		this.posX = posX;
    	}
     
    	public int getPosY() {
    		return posY;
    	}
     
    	public void setPosY(int posY) {
    		this.posY = posY;
    	}
     
     
     
    	}


    Quelqu'un pourrait me dire ce qu'il faudrait faire pour que mon fichier.jar fonctionne correctement??? Merci

  9. #9
    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,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    	public void paintComponent(Graphics g){
     
     
    		g.setColor(Color.WHITE);
    		g.fillRect(0,0,800,600);
     
    		try {
    		Image img=ImageIO.read(new File("neuron.jpg"));
    			g.drawImage(img,posX,posY,widt,heigh,this);
    		}
     
    		catch (IOException e){
    			e.printStackTrace();}
    	}
    Beurk ! Ca c'est bien crade comme code !

    1. Tu charges l'image dans paintComponent()... c'est à dire à chaque fois que le panel sera redessinée (et ca peut arriver souvent)
      Il faudrait charger l'image avant...
    2. Tu te contentes d'un printStrackTrace() pour gérer l'exception !
      En gros tu ne sais pas quoi faire donc tu te contentes de n'importe quoi...
      Je parie qu'il y a une exception mais que tu ne la vois pas lorsque tu lances le jar (puisque tu n'as pas de console :/).
      Il serait préférable de laisser remonter l'exception afin de planter proprement le programme, quitte à l'intercepter plus tard via un Thread.UncaughtExceptionHandler...

    3. C'est quoi ces noms de variables : "widt" / "heigh" ? Tu fais de l'offuscation de code manuelle ???



    a++

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 90
    Points : 52
    Points
    52
    Par défaut Fichier jar non-executable
    Bonjour,

    Je ne suis toujours pas de retour chez moi mais j'ai pu récupérer les infos suivantes:

    Sur mon PC, chez moi, j'ai:

    C:/Program Files/java/com
    C:/Program Files/java/jdk1.7.0
    C:/Program Files/java/Jre7
    et
    C:/Program Files (x86)/Java/jre1.6.0_20
    C:/Program Files (x86)/Java/jre6

    Sur le PC de mon beau-frère il y a seulement:

    C:/Program Files (x86)/java/jre6

    Quel autres genres d'infos désires-tu au niveau des configurations, j'ai téléchargé "Everest" mais il y a une telle quantité de rubriques que je ne sais trop la ou lesquelles te préciser?

    Je pense être de retour en milieu de semaine prochaine, et cela me sera plus facile de m'informer de visu que par téléphone comme c'est le cas en ce moment.
    A bientôt

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 90
    Points : 52
    Points
    52
    Par défaut Fichier jar non-exécutable
    Bonjour,

    Me voilà de retour at home. Tu vas donc pouvoir continuer l'analyse de mon problème et me poser les questions susceptibles de t'aider. La dernière en suspens est donc la comparaison des deux configurations et normalement, à présent, je devrais pouvoir te répondre dans la mesure où tu me spécifie les paramètres qui t'intéressent.

    A bientôt

Discussions similaires

  1. Fichier jar non-exécutable
    Par Henri dans le forum EDI et Outils pour Java
    Réponses: 3
    Dernier message: 28/05/2014, 19h04
  2. Fichier jar non-executable
    Par Henri dans le forum Windows 7
    Réponses: 8
    Dernier message: 05/10/2011, 20h59
  3. creations d'un fichier jar executable
    Par cerco1 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 24/08/2007, 10h35
  4. Fichiers jar non trouvés
    Par Mister Nono dans le forum Langage
    Réponses: 14
    Dernier message: 26/07/2007, 16h41
  5. [JAR]ouverture de fichier texte depuis executables jar
    Par julien31 dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 01/03/2005, 15h53

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