Bonjour!Joyeux Noël !
Voilà: je programme sous linux et j'ai tapé le code suivant:Puis j'ai tapé en ligne de commande:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 package Flototo; public class sl { public static void main(String[] args) { //Grille grille = new Grille("demo01.slp"); System.out.println("prout"); } }
Je comprends bien que java n'a pas la définition de la classe, mais je ne comprends pas pourquoi.
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 [flodelarab@monOrdi JavaFlototo]$ rm -f *.class; javac *.java; java sl Exception in thread "main" java.lang.NoClassDefFoundError: sl (wrong name: Flototo/sl) at java.lang.ClassLoader.defineClass1(Native Method) 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) at java.lang.ClassLoader.loadClassInternal(Unknown Source) [flodelarab@monOrdi JavaFlototo]$Évidemment, si je vire "package ..." cela marche, mais je veux que ma classe soit dans un paquetage ou elle trouvera toutes les classes dont elle aura besoin, bientôt.
Quelle notion des paquetage m'a échappé ? Que faut-il changer pour que ça marche ?
PS: Je veux travailler dans le répertoire courant où se trouvent mes fichiers *.java et (après compilation) *.class
Partager