Prime_66Medlem sedan aug. 2004290 inlägg I ett program använder jag flera klasser o det ska ju räcka om klassfilerna ligger i samma mapp som huvudprogramfilen men på min dator hittas inte klasserna. Den tror att klassen inte finns när man ska använda dom. Frågan är vad felet är. Något med CLASSPATH? Min nuvarande ser ut så här:
C:\Program\Java\jre1.5.0_04\lib\ext\QTJava.zip;C:\j2sdk1.4.2_09\bin;
Den sista har jag själv lagt till medans den första blev av installationen. Men saknas det något eller? Eller är det rentav fel?
LimeMedlem sedan sep. 2001961 inlägg Nä... riktigt så enkelt att om de ligger i samma mapp så går det att hitta klassen... Klasser som ligger i samma PAKET behöver inte göra import på dessa klasser för att hitta dem automatiskt.
I alla andra klasser så måste man använda import.
Klasserna skall sedan ligga i en mappstruktur som motsvarar paketstrukturen. Alltså skall alla klasser som ligger har paketnamnet se.lime.t1 ligga i mappen <class_root>/se/lime/t1 och alla som har paketnamnet se.lime.t2 ligga i mappen <class_root>/se/lime/t2.
<class_root>, som är en sökväg i din katalogstruktur måste sedan finnas med i classpath.
\bin skall aldrig vara med i classpath men däremot i PATH.
Beskriv EXAKT hur dina källkodsfiler ligger, om de har någon package deklaration, var dina .class-filer ligger och hur.
När jag kör java-projekt så använder jag följande struktur:
<projekt_root>\src\<paketnamn> - för alla .java-filer. under src har jag samma struktur som för paketnamnen.
<projekt_root>\bin - för .class. När jag bygger mina java-filer så är det här de hamnar. Jag använder 'javac -D <project_root>\bin' för att få dessa kompilerade i en snygg struktur under bin.
Både bin och src-katalogerna finns med i classpath.
Pröva att ändra classpath till
C:\Program\Java\jre1.5.0_04\lib\ext\QTJava.zip;C:\j2sdk1.4.2 _09\bin;.;
Alltså en punkt på slutet.