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

cs_budhax 20 Messages postés dimanche 18 août 2002Date d'inscription 6 septembre 2007 Dernière intervention - 24 juin 2007 à 02:33 - Dernière réponse : cs_budhax 20 Messages postés dimanche 18 août 2002Date d'inscription 6 septembre 2007 Dernière intervention
- 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 

1 réponse

Répondre au sujet
cs_budhax 20 Messages postés dimanche 18 août 2002Date d'inscription 6 septembre 2007 Dernière intervention - 24 juin 2007 à 02:59
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
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.