JAR commande: il ne trouve pas la Main-Class !! [Résolu]

Messages postés
20
Date d'inscription
dimanche 18 août 2002
Dernière intervention
6 septembre 2007
- - Dernière réponse : cs_budhax
Messages postés
20
Date d'inscription
dimanche 18 août 2002
Dernière intervention
6 septembre 2007
- 24 juin 2007 à 02:59
1. Soit un simple Hello.java
import java.io.*;
import javax.swing.filechooser.*;
public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello");
        File d = new File("C:/");
        String name = FileSystemView.getFileSystemView().getSystemDisplayName(d);
        System.out.println("name : "+name);
    }
}

Dans la console DOS, que manque-t-il à ma commande
>jar cvf Hello.jar Hello.class
pour obtenir un .JAR qui fonction avec la commande
>java -jar Hello.jar
Car j'obtiens le message d'erreur:
Failed to load Main-Class manifest attribute from Hello.jar

Lorsqu'il n'y a qu'une classe (à la racine), il devrait (?) trouvé le point d'entré (celle avec la méthode "main").
http://java.sun.com/javase/6/docs/technotes/tools/windows/jar.html

Mon JAR: http://www.enosis.ch/e6/img/Hello.JAR
Ma situation: une seule classe à la racine (sans package).

2. En Java, comment obtenir le n° de volume d'un HD, celui affiché avec la commande DOS "dir":
Le numéro de série du volume est B0F5-1A6F

Merci.

Dave
Afficher la suite 

Votre réponse

1 réponse

Meilleure réponse
Messages postés
20
Date d'inscription
dimanche 18 août 2002
Dernière intervention
6 septembre 2007
3
Merci
Résolu le point 1, en passant par un fichier Manif.LOG et une commande JAR modifiée.
Utilisation: Glisser déposer un .CLASS sur ce .BAT et votre .JAR est fait.

CreerJAR.bat

:: Crée le JAR d'une Classe Java
@ECHO OFF
SET MF=Manif.LOG
IF /I '%~x1'=='.Class' GOTO CJAR
GOTO ERR

:CJAR
CD %~DP1
IF EXIST %~n1.JAR DEL /F /Q %~n1.JAR
ECHO.Main-Class: %~n1>%MF%
JAR -cfm "%~n1.JAR" %MF% *.Class
DEL /F /Q %MF%
GOTO Fin

:ERR
ECHO ERREUR: Pas un .Class

:Fin
ECHO.---------------------------
Pause

Reste le point 2.
En Java, comment obtenir le n° de volume d'un HD, celui affiché avec la commande DOS "dir":
Le numéro de série du volume est B0F5-1A6F

Merci.
Dave

Merci cs_budhax 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de cs_budhax

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.