Utilisation du classpath dans java
Bonjour,
j'utilise le document de JM Doudoux pour me former dans JAVA;Voila j'ai une difficulté lors de l'exécution de la commande java . j'exécute la commande à partir de l'invite des commandes sous Windows. En fait j'ai crée un petit programme java (Maclasse.java)avec un package (Comm.tete.net) et j'ai réussi a le compiler avec la commande javac en définissant le classpath (c:\TravauxJava;c:\TravauxJava\lib\log4j-1.2.14.jar) . mais au moment de l'exécuter avec la commande java (je définit le cp aussi qui est le même lors de la compilation) je reçois un message d'erreur du style Exception in Thread "main" java.lang.NoClassDefFoundError: Maclasse wrong name: comm/tete/net/Maclasse.
je suis bloqué depuis et j'aimerai avancé dans mon apprentissage de ce langage. cordialement
:cry:
Précision sur la difficulté
En fait j'implémente un exemple d'exécution d'une application utilisant plusieurs bibliothèques et dont on a définit le classpath. j'ai donc crée un programme nommé Maclasse.java ayant le contenu suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| package com.jmdoudoux.test;
import org.apache.log4j.*;
public class MaClasse {
static Logger logger = Logger.getLogger(MaClasse.class);
public static void main(
String[] args) {
PropertyConfigurator.configure("log4j.properties");
logger.info("Bonjour");
}
} |
le repertoire par défaut est c:\travauxJava et il contient le sous répertoire comm/TETE/NET qui contient le fichier Maclasse.java et le ficher compiler Maclasse.class. ce répertoire contient aussi un sous répertoire nommé Lib contenant le fichier log4j-1.2.11.jar et enfin contient le fichier log4j.properties.
Donc dans l'invite des commandes Windows j'ai saisie la commande java -cp c:/travauxJava;c:/travauxJava/lib/log4j-1.2.11.jar comm.TETE.NET.Maclasse étant dans le répertoire C:\TravauxJava
mais le système me renvoie une erreur comme présenté dans mon premier message
:cry: