Java Compiler soll alle Dateien immer kompilieren

T

the_plague

Gast
Hallo,

mein Compiler kompiliert erstmal die Ausgangsklasse , dann noch die Dateien der in Ausgangsklasse benutzten Unterklassen.
Das Problem: Er kompiliert nicht immer die Klassen, die nur in den Unterklassen benutzt werden, also quasi die UnterUnterKlassen. Nur dann, wenn die Unterklasse geändert wurde.

Also er kompiliert immer nur eine Ebene tiefer, falls die alte schon kompilierte class sich nicht verändert hat.
Deswegen schreib ich die Ausgangsklasse jetzt jede verwendete Klasse in eine Variable, das funktioniert, halt ich aber nicht für besonders elegant, grad wenn Projekte sehr groß werden.

Wie bringe ich den dazu, dass er immer alle Dateien kompiliert und alle alten .class-dateien ersetzt?

Ich benutze kein Eclipse oder sowas, sondern notepad++ und kompeliere per cmd->javac

Hoffe ich als "anfänger" konnte mich einigermaßen verständlich ausdrücken.
Danke und Gruß,
Marcel
 
Wenn du jetzt noch erklären würdes was der Sinn hinter der Sache ist?
Es ist doch gerade von Vorteil, dass er nicht immer alles wieder übersetzt, da du ja sonst bei großen Projekten nur noch vor dem Computer sitzt und wartest bis er fertig ist.

Du könntest dir ein Makefile schreiben, dafür gibt es viele Beispiele und vorlagen.
 
Wie macht man dass denn sonst, wenn man keine IDE benutzt und nicht jedes mal alle erstellten class-dateien löschen will?

Im Grunde müsste er auch nicht alle Dateien kompilieren, aber wenigstens die, die verändert wurden.

Eine Art makeFile hab ich, eine batch die halt "javac test.java" und "java test" ausführt. Das könnte ich jetzt bei jeder Datei machen, nur würden sich compiler und makefile nicht die doppelte Arbeit machen, da manche Dateien zweimal kompiliert werden?
 
Zuletzt bearbeitet:
Graf Gööörf wieso willst du bereits kompilierte Klassen neu Compilieren.
Die sind ja schon übersetzt.
 
CoolHandLuke schrieb:
ant oder maven wären vielleicht sinnvoll.

Von Maven würde ich die Finger lassen, wenn es nicht unbedingt sein muß, aber Ant einzusetzen wäre in der Tat eine sinnvolle Maßnahme.
 
ehm, ne, ich will alle dateien kompiliert wissen, die ich verändert hab, bisher werden nur die dateien kompiliert, die direkt mit der ausgangsklasse verbunden sind
 
Zurück
Oben