Abhaengigkeiten auf Klassenebene entfernen..?

sirbender

Top Contributor
Hallo,

es gibt ja unzaehlige Dependency Remover im Web. Da erzeugt man eine main-Methode mit Code und alle noetigen Codeabhaengigkeiten (.class Dateien) werden in ein bestimmtes Verzeichnis kopiert.

Ich habe jetzt ein paar Tage recherchiert aber nicht gefunden was ich suche. Deswegen wollte ich fragen ob ich was uebersehen habe und ihr vielleicht ein Tool kennt, dass kann was ich will?

Ich will am liebsten auf .java Datei-Ebene bzw. von mir aus auch auf .class Ebene nicht nur Klassen entfernen sondern sogar innerhalb von Klassen Code entfernen.

Nicht benoetigte statische und Member-Methoden, Konstanten, Felder, Importe, usw.

Wenn sowas moeglich waere, waeren die Einsparungen wirklich sehr viel hoeher. Im Moment wird naemlich wenn eine Klasse gebraucht wird, alle Klassen die diese wiederum importiert auch wieder behalten. Auch wenn diese Klassen eigentlich gar nicht direkt aufgerufen werden. Oder taeusche ich mich da?
 

franky27

Bekanntes Mitglied
Also wenn ich dich richtig verstehe, würde sowas irgendwann zwangsläufig nach hinten losgehen. Was ist wenn du Code später erweitern willst, andere damit arbeiten etc. Auf einmal tauchen Abhängigkeiten auf die nicht mehr implementierbar sind. Aber vielleicht verstehe ich dich auch falsch?
 

sirbender

Top Contributor
Nein. Du verstehst mich richtig.

Fuer mich hat das rein wissenschaftliche Gruende. Um jetzt jedes Detail genau zu erklaeren muesste ich extrem weit ausholen.
 

Agaton Sax

Mitglied
Du kannst natürlich den Code der externen Abhängigkeiten 1:1 kopieren und nach Belieben abspecken. Du musst nur aufpassen, wie die Lizenzbestimmungen aussehen, falls du deine Ergebnisse veröffentlichst.
 

sirbender

Top Contributor
Ich will das automatisch machen. Nicht per Hand :)

Und wie gesagt will ich auch Klasseninterna die nicht gebraucht werden rauswerfen!

Am liebsten auf Source-Code-Ebene. Klassen-Ebene zur Not.
 

Agaton Sax

Mitglied
Idee: Du kannst nach dem Kopieren des Third-Party-Codes auf diesen ein automatisches Entfernen von unbenutztem Code loslassen. Wichtig ist, dass dieses Entfernen alles inklusive der Public-API erfassen muss, egal ob Methoden oder Attribute, und nicht nur private/protected-Zeug.

Für konkrete Tools einfach mal googeln, z.B. refactoring - How to find unused/dead code in java projects - Stack Overflow -- da scheint es wohl einiges zu geben. Selbst kann ich dir keine Tools empfehlen, da ich das bis jetzt noch nie gebraucht habe.
 

sirbender

Top Contributor
Ja, dependency analyzer/remover auf .class Ebene habe ich auch zu hauf gefunden mit Google. Es handelt sich uebrigens nicht um Third-Party code. Hatte ich das gesagt?

Mir geht es wie oben darum, dass:

1. auch Teile (Methoden, Konstanten, Importe, usw.) von Klassen entfernt werden. All die Tools die ich gefunden habe entfernen ganze Klassen. Die Klasse selbst wird nicht entmuellt.

2. das Sahnehaeubchen falls es geht: das Tool sollte auf Source-Code Ebene arbeiten. Alle Tools die ich gefunden habe arbeiten auf .class Ebene. Allerdings wuerde ich mich damit auch zufrieden geben wenn Punkt 1 wenigstens erfuellt wuerde.
 

Agaton Sax

Mitglied
Keine Ahnung ob wir von den gleichen Tools reden. Alles was ich an Refactorings, CleanUp-Actions und Analysetools kenne arbeitet auf dem Source und Bestandteilen einer Klasse und macht nicht irgendwelche Bytecode-Manipulationen oder kann nur Klassen löschen. Auch die verlinkten Tools bilden da keine Ausnahme.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Anwendung die alle Abhaengigkeiten einer Library listet..? Allgemeine Java-Themen 5
S Java-Klassen Abhaengigkeiten grafisch darstellen? Allgemeine Java-Themen 4
M Source / Binaries plus Bugtracking auf Klassenebene Allgemeine Java-Themen 1
I strip-debug - debug-Infos aus mitgelieferter Lib entfernen Allgemeine Java-Themen 3
E Hall vom Clip entfernen Allgemeine Java-Themen 5
OnDemand Teile eines Links entfernen Allgemeine Java-Themen 6
TheSepp Wie kann man Leerzeichen aus einer Array liste entfernen? Allgemeine Java-Themen 10
killig Textdatei einlesen und in HashMap speichern (duplikate entfernen) Allgemeine Java-Themen 12
J Spieler aus der Spielerliste zu entfernen Allgemeine Java-Themen 0
J Spieler aus der Spielerliste entfernen in dem Spiel 17und 4 Allgemeine Java-Themen 2
C Koordinaten LONG/LAT eines neuen Punktes in bestimmter Entfernen und Winkel berechnen Allgemeine Java-Themen 3
Kingamadeus2000 Alle mehrfach vorkommenden Buchstaben rekursiv aus einem String entfernen. Allgemeine Java-Themen 6
R char aus String entfernen Allgemeine Java-Themen 10
J Wie kann ich von Vornherrein einen Fokus auf ein Objekt entfernen? Allgemeine Java-Themen 3
Y ArrayListe eingegebenen index entfernen Allgemeine Java-Themen 1
S Inlining erzwingen kombiniert mit Entfernen von Imports..? Allgemeine Java-Themen 11
G JFileChooser Fokus entfernen?! Allgemeine Java-Themen 15
Neumi5694 Compiler-Fehler Konstanten entfernen während des Kompiliervorgangs Allgemeine Java-Themen 7
S Methoden "Unschöne" Break-Anweisung aus verschachtelter Funktion entfernen Allgemeine Java-Themen 11
KeVoZ_ JSoup - HTML Tag entfernen Allgemeine Java-Themen 1
mrBrown Unicode-WhiteSpaces aus String entfernen Allgemeine Java-Themen 14
T ArrayList zeilenumbruch entfernen Allgemeine Java-Themen 13
J Pattern aus String entfernen Allgemeine Java-Themen 2
R Duplikate aus einer Textdatei entfernen? Allgemeine Java-Themen 20
K Input/Output störende Leerzeichen entfernen Allgemeine Java-Themen 11
J Typecast entfernen Allgemeine Java-Themen 7
S Entfernen von allen Nicht-Buchstaben chars aus einem String ohne Regex..? Allgemeine Java-Themen 10
T Hardware sicher entfernen Allgemeine Java-Themen 8
M Mehrere CRLF entfernen Allgemeine Java-Themen 13
Q "Doppelte" Einträge einer Liste entfernen Allgemeine Java-Themen 14
T Swing JTextAera Zeilenumbruch entfernen Allgemeine Java-Themen 7
X Chinesische Schriftzeichen aus String entfernen Allgemeine Java-Themen 6
T JRE komplett von einem PC entfernen? Allgemeine Java-Themen 5
J Schlüsselwörter entfernen - Wo / wie am performantesten? Allgemeine Java-Themen 3
M Klasse aus xyz.class Datei laden / package entfernen? Allgemeine Java-Themen 4
L-ectron-X Regex zum Entfernen von mehrzeiligen Kommentaren Allgemeine Java-Themen 2
E Html tags entfernen optimieren Allgemeine Java-Themen 12
G Element aus Liste entfernen Allgemeine Java-Themen 6
X Duplikate aus eigenen Datentypen entfernen Allgemeine Java-Themen 14
C Zeilenumbruch aus JTextArea entfernen Allgemeine Java-Themen 6
T Element aus Vector entfernen Allgemeine Java-Themen 4
G Mit JarSigner erstellte Signierung entfernen Allgemeine Java-Themen 8
hdi text durchsuchen -> satzzeichen entfernen Allgemeine Java-Themen 5
C Satzzeichen aus String entfernen Allgemeine Java-Themen 6
S Anonymen MouseListener entfernen? Allgemeine Java-Themen 2
R Entfernen der '..' Notation aus dem Pfad Allgemeine Java-Themen 2
G führende nullen entfernen Allgemeine Java-Themen 14
A ArrayListe :Doppelte entfernen -> keine Referenzen Allgemeine Java-Themen 26
A Leerzeichen entfernen Allgemeine Java-Themen 3
G HTML Code aus String mittels REGEX entfernen Allgemeine Java-Themen 2
L Whitespace in einer html Site entfernen Allgemeine Java-Themen 10
M Elemente aus Liste entfernen? Allgemeine Java-Themen 7
T Duplikate aus ArrayList entfernen Allgemeine Java-Themen 2
G zeilenummern entfernen Allgemeine Java-Themen 9
G Hashset einen eintrag zufällig entfernen Allgemeine Java-Themen 4
B Entfernen von Zeilen/Spalten aus einer Matrix Allgemeine Java-Themen 8
T - Zeilenumbruch entfernen Allgemeine Java-Themen 2
byte Erste Zeile einer Textdatei entfernen Allgemeine Java-Themen 5
J sonderzeichen entfernen Allgemeine Java-Themen 6
m@nu Schreibschutz entfernen und OutputStream öffnen Allgemeine Java-Themen 6
G Leerzeichen entfernen unter 1.3.x Allgemeine Java-Themen 5
C GC: Referenz entfernen Allgemeine Java-Themen 6
F Dateigröße eines entfernen Images ermitteln Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben