:)Det finns ett litet problem och vet inte riktig hur man kan lösa detta.
Det finns sex .java filer som tillhör ett program. När det kompilerars för första gången, dvs när inga .class filer finns, fungerar allt bra. Sedan gör jag små ändringar som tex att lägga till en System.out.println("huhu") sats i någon av filerna, spara och kompilera om. Det visade sig då att ibland inte alla filer som ändrades kompileras. (mycket märkligt)
Om System.out.println("huhu") satsen läggs till i filen där main metoden finns kompileras denna fil alltid (om den ändrats).
Om System.out.println("huhu") satsen läggs till i filen som direkt anropas av main kompileras denna fil alltid (om den ändrats).
Men om System.out.println("huhu") läggs till i en fil som anropas av sistnämnda, så sker inte alltid en kompilering även om den ändrats. Även om man ändrar filen där main finns och i den ovannämnda, så sker ingen kompilering på den, bara filen där main finns och klasser som main anropar direkt kompileras. Filen som inte kompileras vid ändring och då en .class fil finns innehåller endast klassmetoder och har inga instansvariabler.
Varför är det så?
Finns det någon enkel förklaring och en lösning till detta?
Och då kommer jag till nästa fråga. Hur kan jag tvinga kompilatorn att kompilera om samtliga .java filer i en mapp?
Är det någon som har ett svar?
(Det skulle verkligen vara bra om någon har ett svar på frågan, eftersom det är ganska besvärligt att alltid för hand radera vissa .class filer) :)