Hemma hos mig där jag har java installerat kan jag kompilera och exekvera java kod! jipiii !! Men....
på mitt arbete med samma konfiguration samma miljövariabler (tror jag) osv.. så kan jag inte kompilera om jag anropar en annan class i koden.
hmm EXEMPEL:
class Klassen i filen Klassen.java går att kompilera för sig
{
Massa saker ...........
}
Ny fil - Mainen i filen Mainen.java
{
Klassen olle = new Klassen();
}
FUNKAR INTE. HITTAR INTE CLASSEN KLASSEN :(
C:\Documents and Settings\TomMar\Skrivbord\Jav
Mainen.java:8: cannot resolve symbol
symbol : class Testtt
location: class Mainen
Testtt kalle = new Testtt();
^
Mainen.java:8: cannot resolve symbol
symbol : class Testtt
location: class Mainen
Testtt kalle = new Testtt();
^
2 errors
Kompilatorn kompilerar bara de klasser du specificerar, inte de du refererar till i koden. Kanske hade du kompilerat den andra klassen hemma vid ett annat tillfälle?
?? Hur menar du och varför funkar det hemma men inte på jobbet ????
Jo, om det gick till så här:
Hemma skriver du Testtt.java. Kompilerar filen. Sedan skriver du Main.java. Kompilerar. Kör. Då funkar det, för när du redan har kompilerat Testtt en gång (och inte ändrat i den senare), så finns filen Testtt.class som används av Main.class redan.
På jobbet lägger du in dina färdiga filer Testtt.java och Main.java. Sedan kompilerar du Main.java enbart. Nu får du felmeddelanden för filen Testtt.class (den kompilerade filen) saknas eftersom Testtt.java aldrig kompilerades.
Fast om det gick till så måste du ha fått kompileringsfel (på jobbet) vilka klagade på att den inte hittade Testtt.
Om du lägger varje programmeringsprojekt för sig i en undermapp, så kan man komma ifrån problemet med att fundera över vilka filer som ska kompileras nu (dvs vilka man ändrat i sen sist) genom att skriva:
javac *.java
Då kompileras alla java-filer. Det vill man ju inte jämt, men när man vill det är det behändigare än att rabbla upp alla och man missar ingen.
*****
Förstår att det är testfiler, men annars: du vet väl att du kan ha main i samma klass som du instansierar? :q
Kompilatorn kompilerar bara de klasser du specificerar, inte de du refererar till i koden. Kanske hade du kompilerat den andra klassen hemma vid ett annat tillfälle?
Det stämmer inte. Javac kompilerar alla filer som den hittar. I detta fall kompilerades bara den första filen eftersom, som spango sa, . (current directory) saknades i classpathen.
Ett väldigt hett tips är att alltid lägga till . i classpathen, det hjälper vid många problem, framförallt "Main not found" fel vid körning.
aasah- Jag har gjort samma sak hemma som på jobbet. Skapat testtt och kompilerat och sedan mainen och kompilerat men det funkar inte på jobbet ?????????????
Nu har jag testat hemma igen och det funkar fint fint!! ????? Himmla märkligt?!?!?!
. i classpathen ?? hmm nu tänker jag miljövariabler i Windows, classpath eller ??