Archiv für eigene Klassen

Carcharoth

Bekanntes Mitglied
Guten Tag

Ich nutze Eclipse als IDE und GIT zur Versionierung meiner Projekte.

Im Laufe der Zeit schreibe ich mir eine ganze Reihe von nützlichen Klassen die ich immer wieder in meinen Projekten verwenden kann.
Ich überlege mir, wie ich mir so etwas wie ein Archiv anlegen könnte für meine eigene Klassen.

Ich habe an folgende Ansätze gedacht:
- Ich archiviere manuell die entsprechenden JAR-Files in einem Ordner. Dort kann ich jederzeit die gewünschte Klasse holen und in mein aktuelles Projekt einfügen.
- Ich erstelle mir ein Dummy-Projekt unter Eclipse und platziere dort meine Klassen, griffbereit für meine zukünftige Projekte.

Welche Tipps zu diesem Thema hättet ihr mir ?

Danke und Gruss
 

Thallius

Top Contributor
Eigentlich weiß man doch in welchem Projekt man was geschrieben hat. Ich hole mir in solchen Fällen einfach die Klassen aus den alten Projekten.
 
K

kneitzel

Gast
Ich habe ein Projekt, in dem ich die entsprechenden Klassen mit den Tests habe und dann kopiere ich diese - so ich es benötige - da auch einfach raus.

Generell könnte man da aber auch die Library z.B. ins local Repository packen und dann einfach als Abhängigkeit einbinden. Das würde das kopieren vereinfachen und auch nicht diese Wust an doppeltem Code mit sich bringen. Ist ja auch klar: Aktualisierungen wandern dann nur manuell in die jeweiligen Projekte und damit hat man dann ggf. in diversen Projekten unterschiedliche Versionen. Was z.B. bei Fehlerbehebungen oder Erweiterungen recht blöd ist, weil dann ein Projekt noch auf ein Fehler läuft, den man doch eigentlich schon behoben hatte ...

Aber dafür muss ich nicht ganze Libraries einbinden mit Dingen, die ich nicht brauche, nur weil eine Klasse wichtig ist... (Das sind nur einzelne Klassen, die dann in der Regel interessant sind. Und Ausgangspunkt war ja nicht selten, dass ich eine Klasse geschrieben habe, weil ich wegen einer Funktionalität keine ganze Library einbinden wollte ... Bilder in der Größe anpassen wäre ein Beispiel. Für sowas gibt es tolle, Libraries, die extrem viel bieten - aber ich brauche doch nur eine kleine Funktionalität daraus ....)

Und damit ist das dann auch ein Spielgrund - in meiner C# / .Net Library habe ich auch Klassen, die ich nur mal aus Jux geschrieben habe (Balanced Search Tree und sowas in der Art) - Die Klassen würde ich nie verwenden, aber die sind halt mal als Demonstration entstanden.)

Auf das zentrale Projekt würde ich nicht verzichten wollen. So hat man dann einen klaren "Master", bei dem man die letzte Version finden kann,
 

Thallius

Top Contributor
Generell könnte man da aber auch die Library z.B. ins local Repository packen und dann einfach als Abhängigkeit einbinden. Das würde das kopieren vereinfachen und auch nicht diese Wust an doppeltem Code mit sich bringen. Ist ja auch klar: Aktualisierungen wandern dann nur manuell in die jeweiligen Projekte und damit hat man dann ggf. in diversen Projekten unterschiedliche Versionen. Was z.B. bei Fehlerbehebungen oder Erweiterungen recht blöd ist, weil dann ein Projekt noch auf ein Fehler läuft, den man doch eigentlich schon behoben hatte ...

generell sind solche wiederverwendbaren Klassen aber doch recht einfache Sachen. Also zumindest bei mir habe ich keine “generell“ verwendbare Klassen die eine Größe haben als das sie Fehler enthalten würden. da halte ich es für gefährlicher diese zu zentralisieren und irgendwann mal auf die Idee zu kommen sie zu ändern und dabei vergisst, dass sie auf diese neue Art und Weise sie in einem Projekt von vor 10 Jahren nicht mehr funktionieren wird.
 
K

kneitzel

Gast
da halte ich es für gefährlicher diese zu zentralisieren und irgendwann mal auf die Idee zu kommen sie zu ändern und dabei vergisst, dass sie auf diese neue Art und Weise sie in einem Projekt von vor 10 Jahren nicht mehr funktionieren wird.
Also die Gefahr sehe ich nicht, denn es geht ja nur um eine zentrale Stelle, die sozusagen eine Master-Kopie beinhaltet. Manuell kopieren musst Du die von dort immer noch.

Und wenn man es wirklich als Library aufzieht, dann hat man hoffentlich eine Versionierung. Dann ist also ein Update von 1.0 auf 1.1 oder so auch wieder ein manueller Akt.

Breaking Changes sind ansonsten immer zu dokumentieren. Daher kommen wir auch direkt auf das Thema Unit Tests (da hatten wir ja schon Diskussionen zu in der Vergangenheit): Die legen halt die erwartete Funktionalität fest. Wenn sich daran etwas ändert, dann ist es kritisch und das wird dokumentiert. Bei den Klassen, die ich kopiere, sind das dann kleine Anmerkungen im Kopf der Datei (Da fühlt man sich wie vor über 20 Jahren ... diese CVS Kommentare und so kommen mir da in den Sinn) ...

Aber das halte ich für existenziell - bei einer Library habe/hätte ich dann ja auch ein Release Dokument, in dem Änderungen vermerkt werden.
 

temi

Top Contributor
Man könnte auch ein lokales Maven/Gradle Repository dafür hernehmen, dann kann man diese Bibliotheken mit Maven/Gradle importieren und dabei auch Versionen entsprechend berücksichtigen.

Ungefähr so, im Bibliotheksprojekt:

Code:
publishing {
    publications {
        mavenJava(MavenPublication) {
            from components.java
        }
    }

    repositories {
        maven {
            url 'file://home/java/.m2/'
        }
    }
}

Und dann im nutzenden Projekt:
Code:
repositories {
    mavenCentral()
    maven {
        url 'file://home/java/.m2/'
    }
}
 
Zuletzt bearbeitet:

White_Fox

Top Contributor
Also...wenn ich eine Klasse (normalerweise sind es aber mehrere Klassen, die irgendwie zusammengehören) schreibe, die so allgemein und gut ist daß ich in Versuchung kommen könnte sie mal wieder zu verwenden, kommt sie erstmal in ein separates Package.

WENN ich sie dann wiederverwenden wollen würde, würde ich das Package in eine externe Bibliothek auslagern und diese in beide Projekte einbinden. Für die Bibliothek kann ich dann ein eigenes Repository aufmachen oder was mir sonst noch beliebt. Dank Unittests und Versionierung sollte da nicht allzuviel allzufürchterlich schiefgehen können, das Änderungen in der Bibliothek ältere Programme kompromittieren.
Andererseits profitieren auch ältere Programme möglicherweise, wenn die Bibliothek mal für ein anderes Programm verbessert wird.

Aber da ich ja kein Softie bin, betrifft mich das sowieso kaum. :p
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Jar-Archiv zum Lesen einer Konfigurationsdatei Java Basics - Anfänger-Themen 9
H Classpath VBScript in Jar-archiv ausführen Java Basics - Anfänger-Themen 2
P Input/Output String via Drag & Drop auf jar-Archiv Java Basics - Anfänger-Themen 2
H Java Archiv lässt sich nur pfadgebunden öffnen? Java Basics - Anfänger-Themen 26
A JUnit Tests in Jar-Archiv packen Java Basics - Anfänger-Themen 2
E Dateien in ein JAR-Archiv packen Java Basics - Anfänger-Themen 2
P Interpreter-Fehler jar Archiv wird nicht ausgeführt Java Basics - Anfänger-Themen 4
E Projekt als jar-Archiv speichern Java Basics - Anfänger-Themen 4
M Datei aus .jar Archiv ausführen Java Basics - Anfänger-Themen 4
R NoClassDefFoundError im *jar Archiv Java Basics - Anfänger-Themen 7
F JAR Archiv VM Argumente übergeben Java Basics - Anfänger-Themen 3
M Shellscript aus .jar archiv ausführen Java Basics - Anfänger-Themen 2
D Datei aus einem .jar Archiv aufrufen Java Basics - Anfänger-Themen 4
B jar Archiv anlegen Java Basics - Anfänger-Themen 2
N Ressourcendatei im Jar-Archiv Java Basics - Anfänger-Themen 2
C JAr Archiv erstellen Java Basics - Anfänger-Themen 7
G Applet als Jar-Archiv Java Basics - Anfänger-Themen 15
hdi bilder funktionieren im jar archiv nicht. Java Basics - Anfänger-Themen 3
G Bilder ins jar-Archiv einbinden Java Basics - Anfänger-Themen 1
O Jar-Archiv im Servlet verwenden Java Basics - Anfänger-Themen 3
G Jar archiv Pfadangabe! Java Basics - Anfänger-Themen 5
S Zip Archiv erstellen Java Basics - Anfänger-Themen 9
G leere Ordner befinden sich nicht im Zip-Archiv Java Basics - Anfänger-Themen 8
P Images im Archiv .jar Java Basics - Anfänger-Themen 9
N Datei aus Jar Archiv abspeichern Java Basics - Anfänger-Themen 2
X Datei in einem Archiv ersetzen Java Basics - Anfänger-Themen 4
M eine *.gif datei zum jar archiv hinzufügen Java Basics - Anfänger-Themen 3
O Existenz einer Datei im jar-Archiv überprüfen Java Basics - Anfänger-Themen 2
G pdf Dokument aus .jar Archiv Java Basics - Anfänger-Themen 8
S Classloader JAR Archiv Java Basics - Anfänger-Themen 3
O datei erstellen in jar archiv? Java Basics - Anfänger-Themen 4
G Jar Archiv Java Basics - Anfänger-Themen 3
H Jar-Archiv aus anderem Jar-Archiv aufrufen? Java Basics - Anfänger-Themen 3
J relativer Pfad in jar-Archiv Java Basics - Anfänger-Themen 5
Z Jar-Archiv Classpath Variable Java Basics - Anfänger-Themen 6
G Frage zu zip-Archiv Java Basics - Anfänger-Themen 2
G Wie generiere ich zu diesem Code ein *.jar-Archiv Java Basics - Anfänger-Themen 6
S JAR Archiv erstellen? Java Basics - Anfänger-Themen 7
A Programm findet keine wav-Dateien im jar Archiv Java Basics - Anfänger-Themen 4
A JPEG mit ins JAR-Archiv Java Basics - Anfänger-Themen 3
L jar archiv Java Basics - Anfänger-Themen 5
A .class Datein, jar Archiv ? Java Basics - Anfänger-Themen 2
E ausführbares jar-archiv funktioniert nicht Java Basics - Anfänger-Themen 2
M Code aus IntelliJ in "Textform" für Word-Paper? Java Basics - Anfänger-Themen 10
G Icon für App Java Basics - Anfänger-Themen 1
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
V Durchschnittliche Volatility in Prozent für 4 Stunden berechnen Java Basics - Anfänger-Themen 14
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
C negamax-Algorithmus für Tic-Tac-Toe spielt manchmal falsch Java Basics - Anfänger-Themen 10
D Apache HTTPClient für alle Fälle Java Basics - Anfänger-Themen 41
J Layout Manager, welcher ist der Richtige für mein Program? Java Basics - Anfänger-Themen 1
J Fehlermeldung unverständlich für Jakarta Java Basics - Anfänger-Themen 17
M Minimax-Algorithmus für Vier gewinnt Java Basics - Anfänger-Themen 11
M GUI für Vier-Gewinnt. Java Basics - Anfänger-Themen 4
I JPA Query für mehrere Klassen Java Basics - Anfänger-Themen 3
D Quellcode für cmd funktioniert nicht Java Basics - Anfänger-Themen 9
R Operatoren Rechenoperation in Java verwenden für Calculator Java Basics - Anfänger-Themen 2
R Operatoren Rechenoperation verwenden für Taschenrechner. Java Basics - Anfänger-Themen 32
Ostkreuz Counter für Booleanwerte Java Basics - Anfänger-Themen 8
B Regex Ausdrücke für Monate Java Basics - Anfänger-Themen 7
I BlueJ Queue Frage für Klausur Java Basics - Anfänger-Themen 2
K loop pausieren für eine bestimmte Anzahl? Java Basics - Anfänger-Themen 1
Jxhnny.lpz Randomisier für Buttons Java Basics - Anfänger-Themen 13
W Intuitive interface für Komponenten Java Basics - Anfänger-Themen 4
M "Class<T> clazz" im Constructor - auch für int möglich? Java Basics - Anfänger-Themen 7
B Schrankensystem mit Farberkennung für Flashgame funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
I Code für Bezahlsystem (auch bei Offline Aktivität) Java Basics - Anfänger-Themen 7
U jUnit 5 Test für eine addMethode Java Basics - Anfänger-Themen 18
M monte carlo Algorithmus für 4 gewinnt Java Basics - Anfänger-Themen 12
frager2345 Java Singleton Muster -> Methode für Konstruktor mit Parametern Java Basics - Anfänger-Themen 3
izoards Sortier Algorithmus für Bounding Box Elememte Links nach Rechts und von Oben nach Unten Java Basics - Anfänger-Themen 33
M generate Methode für Streams Java Basics - Anfänger-Themen 6
I Datenmodell für "Tags" Java Basics - Anfänger-Themen 6
Lion.King for-Kontrollstruktur für Pyramide Java Basics - Anfänger-Themen 8
B Mit Countdown Midnestdauer für Teilaufgabenerledigung erzwingen Java Basics - Anfänger-Themen 8
J File length als Prüfwert für Download Java Basics - Anfänger-Themen 5
K Spieleidee gesucht für Informatikprojekt - JAVA (BlueJ)? Java Basics - Anfänger-Themen 15
P Zähler Variable für mehrere Objekte Java Basics - Anfänger-Themen 6
javamanoman Java für Online Banking Java Basics - Anfänger-Themen 12
NadimArazi Wie kann ich eine collision detection für die Paddles in meinem Pong Programm hinzufügen? Java Basics - Anfänger-Themen 4
JordenJost Java ist auch eine Insel für Anfänger Java Basics - Anfänger-Themen 2
P9cman Tipps für Rekursive Aufgaben mit Strings oder allgemein Java Basics - Anfänger-Themen 2
F Suche nach betreuender Person für eine Jahresarbeit der 12. Klasse. Java Basics - Anfänger-Themen 6
I SQL / JPA Query für StartDate und EndDate Java Basics - Anfänger-Themen 1
T getMethode für ein Array Java Basics - Anfänger-Themen 2
Fats Waller Farben mixen für den Hintergrund ? Java Basics - Anfänger-Themen 1
H Suche jemanden für kleine Uni-Abgabe/ mit Vergütung Java Basics - Anfänger-Themen 1
K Für was braucht man die left und right shift operatoren? Was bringen die, also welchen Zweck haben die? Java Basics - Anfänger-Themen 15
N Api nur für Textdatein (.txt) Java Basics - Anfänger-Themen 2
bluetrix Programmieren eines Bots für Zahlen-Brettspiel Java Basics - Anfänger-Themen 9
M Wie kann eine Methode für ein vorhandenes "Array von char" einen Index-Wert zurückliefern? Java Basics - Anfänger-Themen 3
R Ist Java das Richtige für mich? Java Basics - Anfänger-Themen 4
E Mittelquadratmethode für Hexadezimalzahlen Java Basics - Anfänger-Themen 1
P Einfacher regulärer Ausdruck (RegEx) für E-Mail-Adressen Java Basics - Anfänger-Themen 2
Kiki01 Wie würde eine geeignete Schleife aussehen, die die relative Häufigkeit für jeden Charakter in einem Text bestimmt? Java Basics - Anfänger-Themen 3
N Fehler im Code (Aufgabe für Anfänger) Java Basics - Anfänger-Themen 11
O Wie erstelle ich eine Instanz in einer Klasse für die ich die Instanz will? Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben