C'est le plus stupide, le plus simple problème jamais avec Java de base, mais qu'est-ce que je fais mal?Java compilation/paquet/erreur d'espace de noms
Dans une structure de répertoire appelé
com/myname/robos
- Robo.java
- Arena.java
Robo.java:
package com.myname.robos;
public class Robo {
public void fala() {
System.out.println("Gleep Beep Boop!");
}
}
Arena.java:
package com.myname.robos;
import com.myname.robos.Robo;
public class Arena {
public static void main(String[] args) {
Robo r2 = new Robo();
r2.fala();
}
}
Lorsque je tente de:
javac Robo.java
il compile.
Lorsque je tente alors
javac Arena.java
Je reçois
Arena.java:3: error: cannot find symbol
import com.myname.robos.Robo;
^
symbol: class Robo
location: package com.myname.robos
Arena.java:8: error: cannot find symbol
Robo r2 = new Robo();
^
symbol: class Robo
location: class Arena
Arena.java:8: error: cannot find symbol
Robo r2 = new Robo();
^
symbol: class Robo
location: class Arena
3 errors
Je sais que c'est une erreur de l'incompatibilité entre le répertoire/paquet etc. noms.
Mais je n'ai toujours pas compris. Que devrait Je écris?
'javac com/mon nom/robos/Robo.java',' javac com/monname/robos/Arena.java', et lisez les options 'classpath' et' sourcepath' à ' javac'. –
Je dois lancer le compilateur depuis l'extérieur du chemin? – interstar
Vous devez l'exécuter de manière à conserver le chemin. Lisez le Fine Manual. Il est documenté comment utiliser 'javac'. Lisez le Fine Manual. –