Ant ANT javac class-Dateien von entfernten JAVA-Klassen löschen

fritzfux

Mitglied
Hallo,

ich habe ein kleines Problem mit javac:
1. Ich baue mit javac in einem ant-Skript Java-Klassen die in Ordner A liegen.
2. Die gebauten Class-Dateien werden in Ordner B abgelegt und im Anschluss in ein jar gepackt.

Lösche ich jetzt eine Klasse in A, so ist immer noch die zugehörige Class-Datei in Ordner B vorhanden. Mache ich jetzt Änderungen in A und kompiliere nochmal, so ist die class-Datei der gelöschten Datei immer noch noch vorhanden.

Da ich aber nicht immer das ganze class-Verzeichnis löschen möchte und alles neu bauen will, würde ich gerne im Vorfeld, ohne viel Aufwand, die nicht mehr notwendige classes entfernen oder zumindest bestimmen. Damit ich sie vor den jaren löschen kann.
Ich jetzt schon einige Zeit rumgesucht, Mapper tun es nicht. Dependsets tun es auch nicht, da man ja unterschiedliche Dateiendungen hat, also kann mir jemand helfen?

Danke.

Fritz
 

fritzfux

Mitglied
Ich will nicht immer alles wegschmeißen, weil ich mir dadurch im Build eine gewisse Zeitersparnis erhoffe.
Warum soll ich 20000 Java-Klassen neu kompilieren nur weil sich 50 geändert haben?!
Hoffe man kann meine Motivation nachvollziehen. ;-)
 
M

maki

Gast
Warum soll ich 20000 Java-Klassen neu kompilieren nur weil sich 50 geändert haben?!
Das ist nicht dein Usecase, geändert vs. gelöscht ist schon noch ein Unterschied.

Hoffe man kann meine Motivation nachvollziehen.
Ehrlich gesagt nein, mache das ständig mit Maven2 (mvn clean install).

Vielleciht kommt ja noch ein User vorbei der weiss wie es geht.
 
G

Gast2

Gast
Das ginge schon...

In einer Liste alle java files sammeln, in einer anderen Liste alle class files sammeln. Beide Listen vergleichen und überzählige class files löschen. Dann noch nachsehn welche java files einen neuern timestamp als die class files haben und nur diese compilieren lassen....

Entweder mit viel build.xml gebastel und ant-contrib oder einfach einen eigenen ant taks schreiben.

Aber ob das Sinn macht? Ich mache es auch einfach komplett - 20k files? Ja das dauert dann halt 5 minuten - geh ich halt enn Kaffee trinken, mit nem Kollegen quatschen oder im Web surfen.
 
M

maki

Gast
Denke die 20000 Dateien waren nur ein übertriebenes Beispiel des TS (sonst würde ich mir mal Gedanken über die Projektstruktur machen).
Für den normalen Fall sollte das auch keine 5 Minuten dauern.
 

fritzfux

Mitglied
Leider sind die 20k kein Witz und die Struktur ist leider auch vorgegeben.
Ich versuche halt nur die Sachen zu bauen die neu sind und nicht mehr sachen in die Lieferung zu packen die es nicht mehr gibt.
Da bei uns der Build 40m dauer, wenn alles gebaut wird würde ich das ganze gerne etwas kürzer haben wollen.

Maven mag ja auch schön und gut sein und vielleicht geht das damit auch, aber ich muss hier ant nutzen, RL ist kein WK.
 
M

maki

Gast
Denke nicht dass sich euer Problem nur mit Ant zufriedenstellend lösen lässt.
IMHO sind 20000 Java Dateien(?) viel zu viel für ein Projekt, das aufteilen würde viele Vorteile bringen.
Wenn das allerdings nicht geht, sieht es imho schlecht aus.
 
G

Gast2

Gast
Ich würde einen eigenen Task schreiben der das managt. Ist eigentlich recht einfach:

Java:
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;

public class CustomAntTask extends Task {

	public void execute() throws BuildException {
             // - hier dein Einstiegspunkt
	}

Damit solltest du das fix hinbekommen.
 
G

Gast2

Gast
Mit Sicherheit nicht. Für deinen Usecase gibt es keinen fertigen ant task. In der Zeit die du wartest hättest du den eigene Task schon dreimal programmieren können... ;)
 

Wildcard

Top Contributor
Innerhalb der IDE(Eclipse) würde es funktionieren. Du richtest einen Ant Task als Builder für dein Projekt ein. Dieser Builder kompiliert aber nicht selbst, sondern packt nur fertige class files in ein Jar. Diesen Builder richtest du so ein das er automatisch startet wenn sich etwas in 'bin' ändert und übergibst das Resource Change Set an Ant. Der Ant Task muss dann nur noch dein Jar File aktualisieren (Class Files hinzufügen, aktualisieren, löschen).
Ich sage damit nicht das ich es so tun würde, oder das es sauber ist, aber zumindest innerhalb von Eclipse sollte das machbar sein.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Neumi5694 Ant - javac Version Tools - Maven, Gradle, Ant & mehr 4
c_sidi90 Maven findet javac Compiler nicht Tools - Maven, Gradle, Ant & mehr 4
J Maven, ant-run & javac Tools - Maven, Gradle, Ant & mehr 3
V Ant in Eclipse - javac Task - JAVA_HOME zeigt aufs jre Tools - Maven, Gradle, Ant & mehr 3
D ANT - javac + externe Jar + sourcepath Tools - Maven, Gradle, Ant & mehr 6
H Problem beim Verschieben der main-class -> A jni error has occured, please check... Tools - Maven, Gradle, Ant & mehr 9
A Applet: Html Datei und Class Datei nicht im selben Verzeichnis Tools - Maven, Gradle, Ant & mehr 2
M Jar kann nicht gestartet werden - main Class not found Tools - Maven, Gradle, Ant & mehr 5
K Webstart .class Datei über Reflection laden Tools - Maven, Gradle, Ant & mehr 3
AlexSpritze Ant Frage zu manifest-class-path mit Target jar Tools - Maven, Gradle, Ant & mehr 1
G Nachladen von unbekannten Class-Files im JAR-Archiv Tools - Maven, Gradle, Ant & mehr 4
B Applet (Class-Datei(en)) in Html-Seite einbinden - Clipboard Tools - Maven, Gradle, Ant & mehr 13
S Sonderzeichen in class dateien? Tools - Maven, Gradle, Ant & mehr 4
A mehrere class.dateien Tools - Maven, Gradle, Ant & mehr 10
K .class variabel laden Tools - Maven, Gradle, Ant & mehr 21
H .class in .java umformen Tools - Maven, Gradle, Ant & mehr 6
sparrow Ladevorgang von Applets (jar/class) Tools - Maven, Gradle, Ant & mehr 2
D Problem beim einbinden von jar und class datei Tools - Maven, Gradle, Ant & mehr 8
J Editor für ".class"-Dateien? Tools - Maven, Gradle, Ant & mehr 3
L class not found - und warum??? Tools - Maven, Gradle, Ant & mehr 6
A Wie kann man Quelltext von .class Datei sehen? Tools - Maven, Gradle, Ant & mehr 2
M Maven (Java EE, WAR) Eigener Buildschritt - Manipulation von Dateien Tools - Maven, Gradle, Ant & mehr 4
J Wie Jar-Dateien in NetBeans erstellen? Tools - Maven, Gradle, Ant & mehr 4
B Subversion Eclipse Dateien mit Fragezeichen Tools - Maven, Gradle, Ant & mehr 2
B Ant Schleifen mit Dateien als Parameter Tools - Maven, Gradle, Ant & mehr 2
E Ant Beim zusammenfassen von CSV-Dateien nur bestimmt spalten auswählen Tools - Maven, Gradle, Ant & mehr 27
N Ausführbare Dateien aus jar-Dateien verwenden Tools - Maven, Gradle, Ant & mehr 2
P Maven2 - wie mache ich externe Jar Dateien zu Artifacts? Tools - Maven, Gradle, Ant & mehr 15
B Maven: file.separator und properties-Dateien Tools - Maven, Gradle, Ant & mehr 8
F Kleines Java-Programm geschrieben, 30 Dateien? Tools - Maven, Gradle, Ant & mehr 16
D Ant: unzip; alle Dateien mit *.zip im Verzeichnis entpacken Tools - Maven, Gradle, Ant & mehr 1
D WebStart Caching kleinere Dateien aufm Client ? Tools - Maven, Gradle, Ant & mehr 7
J Externe Dateien im jar File Tools - Maven, Gradle, Ant & mehr 4
I Fehler beim Signieren der JAR Dateien für Webstart Tools - Maven, Gradle, Ant & mehr 1
G Mehrer Dateien auswählen mit JFileChooser Tools - Maven, Gradle, Ant & mehr 6
P Applet - WAV-Dateien werden nicht abgespielt Tools - Maven, Gradle, Ant & mehr 6
V Ogg Sound dateien mit Java abspielen? Tools - Maven, Gradle, Ant & mehr 8
B Dateien per POST Request an PHP Script senden Tools - Maven, Gradle, Ant & mehr 2
L URL Dateien lesen Tools - Maven, Gradle, Ant & mehr 4
S Dateien laden ? Tools - Maven, Gradle, Ant & mehr 2
J Dateien auf einen anderen Rechner bekommen Tools - Maven, Gradle, Ant & mehr 8
K Sehr kleine wav Dateien, bis zu 20KB,werden nicht abgespielt Tools - Maven, Gradle, Ant & mehr 3
8 Applet -> PHP = Dateien schreiben Tools - Maven, Gradle, Ant & mehr 17
Z Mit JFileChooser per Applet Dateien auf dem Server auswählen Tools - Maven, Gradle, Ant & mehr 4
K TXT Dateien vom Server/Host lesen und schreiben.WIE? Tools - Maven, Gradle, Ant & mehr 6
M Dateien mit Applet schreiben/lesen (lokal) Tools - Maven, Gradle, Ant & mehr 3
S Sound/Midi Dateien erst komplett laden Tools - Maven, Gradle, Ant & mehr 12

Ähnliche Java Themen

Neue Themen


Oben