Premettendo che sono un principiante:
ho queste classi
Mammal.java
public class Mammal {
....
}
Dog.java
public class Dog extends Mammal {
...
}
Speak.java
class Speak {
public static void main(String[] arguments) {
Dog doggie = new Dog();
}
}
I tre files si trovano tutti nella stessa directory, eppure quando compilo Dog (javac Dog.java) e Speak (javac Speak.java) mi dà l'errore "cannot resolve symbol" sulle classi Mammal e Dog rispettivamente.
Se però lancio la compilazione così
javac -classpath . Dog.java
javac -classpath . Speak.java
allora funziona.
Il CLASSPATH sulla mia macchina è
".;C:\Programmi\Java\j2sdk1.4.1_03\lib\tools.j ar"
Il punto davanti dovrebbe permettergli di trovare le classi nella stessa directory (che è quella da cui lancio tutte le compilazioni).
Perché funziona solo se indico espressamente il parametro -classpath?