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

avec Java Discussion :

Lancement classe Java sous MS-DOS


Sujet :

avec Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 12
    Points : 9
    Points
    9
    Par défaut Lancement classe Java sous MS-DOS
    Bonjour,

    j'ai fait mon premier prg an java avec Eclipse. Il fonctionne dans eclipse.

    Après avoir modifié PATH (C:\Program Files (x86)\Java\jdk1.7.0_51\bin) et Classpath (.;C:\Program Files (x86)\Java\jre7\lib)

    J'ai "compilé" sur ms dos le fichier Mmind2.java avec javac ==> Pas de message spécifique et création d'un .class.

    J'ai ensuite essayé de lancer le prg avec java Mmind2 et j'ai eu les messages ci-après. Le programme n'a pa fonctionné !!!

    Pourquoi ?


    --------------------
    C:\Users\ccccccc\workspace\Mastermind\src>java Mmind2
    Exception in thread "main" java.lang.UnsupportedClassVersionError: Mmind2 : Unsu
    pported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(Unknown Source)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$000(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    Could not find the main class: Mmind2. Program will exit.

    C:\Users\cccccc\workspace\Mastermind\src>

    --------------------

    J'ai essayé avec java -cp Mmind2 mais j'ai eu :

    --------------------
    C:\Users\cccccc\workspace\Mastermind\src>java -cp Mmind2
    Usage: java [-options] class [args...]
    (to execute a class)
    or java [-options] -jar jarfile [args...]
    (to execute a jar file)

    where options include:
    -server to select the "server" VM
    -hotspot is a synonym for the "server" VM [deprecated]
    The default VM is server.

    -cp <class search path of directories and zip/jar files>
    -classpath <class search path of directories and zip/jar files>
    A ; separated list of directories, JAR archives,
    and ZIP archives to search for class files.
    -D<name>=<value>
    set a system property
    -verbose[:class|gc|jni]
    enable verbose output
    -version print product version and exit
    -version:<value>
    require the specified version to run
    -showversion print product version and continue
    -jre-restrict-search | -jre-no-restrict-search
    include/exclude user private JREs in the version search
    -? -help print this help message
    -X print help on non-standard options
    -ea[:<packagename>...|:<classname>]
    -enableassertions[:<packagename>...|:<classname>]
    enable assertions
    -da[:<packagename>...|:<classname>]
    -disableassertions[:<packagename>...|:<classname>]
    disable assertions
    -esa | -enablesystemassertions
    enable system assertions
    -dsa | -disablesystemassertions
    disable system assertions
    -agentlib:<libname>[=<options>]
    load native agent library <libname>, e.g. -agentlib:hprof
    see also, -agentlib:jdwp=help and -agentlib:hprof=help
    -agentpath:<pathname>[=<options>]
    load native agent library by full pathname
    -javaagent:<jarpath>[=<options>]
    load Java programming language agent, see java.lang.instrument

    -splash:<imagepath>
    show splash screen with specified image

    C:\Users\Quément\workspace\Mastermind\src>

    Pourriez-vous m'indiquer comment faire tourner mon programe java ? (je suis tout neuf dans la programmation java).

    Merci d'avance
    ========
    Quelques données
    PC sous Windows 7

  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,


    Tu dois avoir deux versions différentes de java...
    Que te donne les commandes javac -version et java -version ?

    Règles bien ton PATH (en mettant le répertoire de java en premier par exemple) ou utilises des chemins complets...





    Sinon il vaut mieux éviter de définir la variable d’environnement CLASSPATH.
    Si besoin il est préférable d'utiliser l'option -cp de javac/java...


    a++

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Merci adiGuda,

    Alors, effectivement j'avais plusieurs versions. J'ai désinstaller des vieilles versions. Puis redémarrer le pc. J'ai aussi enlevé le CLASSPATH.

    Voilà selon ta demande les versions après les opérations décrites ci-dessus :

    C:\Users\ccc\workspace\Mastermind\src>javac -version
    javac 1.7.0_51

    C:\Users\ccc\workspace\Mastermind\src>java -version
    java version "1.7.0_51"
    Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
    Java HotSpot(TM) Client VM (build 24.51-b03, mixed mode, sharing)

    J'ai relancé le javac ==> pas de message spécifique.
    puis j'ai voulu lancé le .class avec la commande java : toujours pareil !

    ------------
    C:\Users\ccc\workspace\Mastermind\src>javac mmind.java

    C:\Users\ccc\workspace\Mastermind\src>java mmind
    Exception in thread "main" java.lang.NoClassDefFoundError: mmind (wrong name: Mm
    ind)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14
    2)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)


    C:\Users\ccc\workspace\Mastermind\src>javac -cp mmind.java
    javac: no source files
    Usage: javac <options> <source files>
    use -help for a list of possible options


    C:\Users\ccc\workspace\Mastermind\src>java -cp mmind
    Syntaxe : java [-options] class [args...]
    (pour l'exÚcution d'une classe)
    ou java [-options] -jar jarfile [args...]
    (pour l'exÚcution d'un fichier JAR)
    o¨ les options comprennent :
    -d32 utilisez le modÞle de donnÚes 32 bits s'il est disponible
    -d64 utilisez le modÞle de donnÚes 64 bits s'il est disponible
    -client pour sÚlectionner la machine virtuelle "client"
    -server pour sÚlectionner la machine virtuelle "server"
    -hotspot est un synonyme pour la machine virtuelle "client" [en phase
    d'abandon]
    La machine virtuelle par dÚfaut est client.

    -cp <class search path of directories and zip/jar files>
    -classpath <class search path of directories and zip/jar files>
    Liste de rÚpertoires, d'archives JAR et
    d'archives ZIP sÚparÚs par des ;, dans laquelle rechercher le
    s fichiers de classe.
    -D<name>=<value>
    dÚfinition d'une propriÚtÚ systÞme
    -verbose:[class|gc|jni]
    activation de la sortie en mode verbose
    -version impression de la version du produit et fin de l'opÚration
    -version:<value>
    exÚcution de la version spÚcifiÚe obligatoire
    -showversion impression de la version du produit et poursuite de l'opÚratio
    n
    -jre-restrict-search | -no-jre-restrict-search
    inclusion/exclusion des environnements JRE privÚs de l'utilisa
    teur dans la recherche de version
    -? -help impression du message d'aide
    -X impression de l'aide sur les options non standard
    -ea[:<packagename>...|:<classname>]
    -enableassertions[:<packagename>...|:<classname>]
    activation des assertions avec la granularitÚ spÚcifiÚe
    -da[:<packagename>...|:<classname>]
    -disableassertions[:<packagename>...|:<classname>]
    dÚsactivation des assertions avec la granularitÚ spÚcifiÚe
    -esa | -enablesystemassertions
    activation des assertions systÞme
    -dsa | -disablesystemassertions
    dÚsactivation des assertions systÞme
    -agentlib:<libname>[=<options>]
    chargement de la bibliothÞque d'agent natif <libname>, par exe
    mple -agentlib:hprof
    voir Úgalement, -agentlib:jdwp=help et -agentlib:hprof=help
    -agentpath:<pathname>[=<options>]
    chargement de la bibliothÞque d'agent natif via le chemin d'ac
    cÞs complet
    -javaagent:<jarpath>[=<options>]
    chargement de l'agent du langage de programmation Java, voir j
    ava.lang.instrument
    -splash:<imagepath>
    affichage de l'Úcran d'accueil avec l'image spÚcifiÚe
    Voir http://www.oracle.com/technetwork/ja...ion/index.html pour
    plus de dÚtails.

    C:\Users\ccc\workspace\Mastermind\src>
    --------------

    Alors où est le pb ???

    Merci

  4. #4
    Membre actif
    Homme Profil pro
    Consultant BigData
    Inscrit en
    Juillet 2009
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant BigData

    Informations forums :
    Inscription : Juillet 2009
    Messages : 129
    Points : 280
    Points
    280
    Par défaut
    Salut,

    Tu n'as visiblement plus la même erreur, tu es passé d'un problème de version à un noDefClassFound Cette erreur indique juste que ton .class n'est pas chargé.

    Peux-tu montrer à quoi ressemble ton .java ? la notion de "Wrong name" indiquée dans le message d'erreur tend à penser que cela pourrait venir de là.

    PS : un petit détail, mais il est préférable de suivre les normes de codage et de mettre une majuscule à ton nom de classe (et donc de fichier).

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 547
    Points : 21 602
    Points
    21 602
    Par défaut
    Citation Envoyé par PP_63 Voir le message
    J'ai relancé le javac ==> pas de message spécifique.
    puis j'ai voulu lancé le .class avec la commande java : toujours pareil !
    Tiens donc, j'aurais juré que le message d'erreur disait quelque chose de complètement différent ? Je me serais trompé ?

    - Le message que tu avais avant disait que Java 1.6 ne peut pas charger une classe Java 1.7.
    - Le message que tu as maintenant dit que la classe "mmind" est introuvable. Par contre, si par hasard il y a un rapport, il trouve une classe "Mmind" qui commence par une majuscule.
    - "Peux pas charger ça" et "je ne le trouve pas ton machin" n'ont rien à voir.
    - Les majuscules et les minuscules sont importantes.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Pour dire les chose plus simplement, tu a mis dans ton fichier .java


    public class Mmind


    mais tu as nommé ton fichier mmind.java alors qu'il aurait du s'appeler Mmind.java. La solution donc

    1) donner le bon nom au fichiers (avec les majuscules et tout)
    2) recompilier (javac Mmind.java)
    3) relancer avec les majuscule (java Mmind)

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    D'abord, Merci à tous.

    Je refais la manipulation en ayant pris soin de modifier le nom et mettre une majuscule pour les noms de la classe (je l'ai même renommé afin que le nom de la classe=nom du projet)
    - voici le code (aucun secret, la NSA à déjà regardé)

    ----------------
    Code Java : 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
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    import java.util.Scanner;
     
     
    public class Mastermind {
     
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
     
    // A --> Demande difficulté
     
     
    		Scanner sc=new Scanner(System.in);
    		System.out.println("Quel difficulté (de 1 à 9) :");
    		int difficulte=sc.nextInt();
     
     
     
    // B --> Générer chiffres aléatoires
     
    		String origines = new String();
    		int i=0;
     
    	do {	
     
    		int	hasard=(int) (Math.random()*9.99);
     
    		origines=origines + hasard;
    		i++;
     
    	} while (i<difficulte);
     
    	System.out.println(origines);
     
     
     
    // boucle totale
     
    int pointsOk=0;
    int j=0;
    int pointsPasOk=0;
    String reponse;
    String textOr;
    String textRe;
    String jj=new String();
    int coup=0;
     
    do {
     
     
    // C --> Demander les réponses
     
    	System.out.println("votre réponse");
    	sc.nextLine();
    	reponse=sc.nextLine();
    	//sc.nextLine();
     
     
     
    // D --> Controler les reponses position exacte
    	textOr = origines;
    	textRe = reponse;
     
    	pointsOk=0;
    	i=0;
    	do {
    		char test1or = textOr.charAt(i);
    		char test1re = textRe.charAt(i);
     
    		if (test1or == test1re)
    			{
    		//		System.out.print(" Pos-->"+(i+1));
    				jj=String.valueOf(test1re);
    				textOr=textOr.replaceFirst(jj,"_"); // pour enlever les chiffres trouvés
    				textRe=textRe.replaceFirst(jj,"-"); // pour enlever les chiffres trouvés
    			//	System.out.print(" enlevé->"+textOr);
    				pointsOk ++;
    			}
    		else
    			;
     
     
    		i++;
    	}while (i<difficulte);
     
     
     
    // D --> Controler les reponses position non exacte	
    	j=0;
    	i=0;
    	pointsPasOk=0;
    	do {
    		char test1re = textRe.charAt(i);
     
    		j=0;
     
    			do {
    				char test1or = textOr.charAt(j);
    				if (test1or == test1re)
    					{
    					//		System.out.print(" Pos2 -->"+(j+1));
    					jj=String.valueOf(test1re);
    					textOr=textOr.replaceFirst(jj,"_"); // pour enlever les chiffres trouvés
    					textRe=textRe.replaceFirst(jj,"-"); // pour enlever les chiffres trouvés
    					//		System.out.print(" enlevé->"+textOr);
    					pointsPasOk ++;
    					}
    				else
    					;
    				j++;
     
    			}while (j<difficulte);
     
     
    		i++;
    	}while (i<difficulte);
     
     
    	coup++;
    // E --> Donner résultat
    	if (pointsOk == difficulte)
    		System.out.println("GAGNE en "+coup+" coups");
    		else
    	System.out.println("\n point ok -->"+pointsOk + "  ++ points pas OK --> " + pointsPasOk);
     
    } while (pointsOk < difficulte);
     
    	// F --> tout ok = fin - Recommencer ?
    	}
     
    }
    ----------------------------


    JE RELANCE : MIRACLE (ou alors vos conseils étaient les bons) ça fonctionne ...

    ALORS MERCI - (je pense que vous êtes bons)

    Je n'avais pas pris conscience de l'importance des majuscules !!!
    --
    PS : inutile de rire en analysant le programme

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Classe java sous Oracle*Designer / Forms 10g
    Par whenti dans le forum Designer
    Réponses: 2
    Dernier message: 05/01/2011, 19h07
  2. execution d'une classe java sous windows avec ligne de commande
    Par rinuom dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 24/06/2008, 17h04
  3. pb de class java sous tomcat, debutant
    Par Mobistar dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 31/01/2008, 18h23
  4. commande d'execution d'une classe java sous dos
    Par sirine1 dans le forum Langage
    Réponses: 1
    Dernier message: 11/08/2007, 15h48
  5. Utilisation de class java sous delphi?
    Par loloryan dans le forum Delphi
    Réponses: 1
    Dernier message: 09/11/2006, 21h20

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