![]() |
| | LinkBack | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| Erfahrener Benutzer Registriert seit: 16.08.2008 Ort: Mecklenburg-Vorpommern
Beiträge: 314
|
Hallo Gemeinde, gestern ärgerte ich mich mit ein paar ClassNotFound- und ClassDefNotFound-Exceptions rum. Ich habe in einer Applikation meine hier vorgestellte Datenbankklasse verwendet und vergessen den Classpath zum MySQL-JDBC-Treiber zu setzen (was absolut nicht aus der Fehlermeldung hervorging). Nun stellt sich für mich natürlich die Frage: Wie müsste ich denn Software in meinem Falle verteilen? Mir fallen spontan zwei Dinge ein: Ich nehme einen relativen Classpath und erstelle ein eigenes Unterverzeichnis in meiner Applikation für den MySQL-Treiber. Das bedeutet für mich aus lizenzrechtlichen Gründen meine Software - sofern ich sie denn an andere verteile - unter die GPL zu stellen oder eine kostenpflichtige Lizenz für MySQL zu erwerben. Da ich meine Datenbankklasse dynamisch gestaltet habe, könnte ich eine .txt-Konfigurations-Datei mitliefern. Der Classpath zeigt immer noch auf ein Treiberverzeichnis, allerdings muss der User in Eigenverantwortung einen gewünschten Treiber herunterladen, ins richtige Verzeichnis verschieben und den Treiber-Klassennamen in die Textdatei schreiben. Der Vorteil hier: Er hätte nahezu freie Wahl was die Datenbanken angeht. Die letztere Variante klingt ein wenig nach 0815 - gerade, wenn ich mir vorstelle, dass viele User die Software eher nutzen, statt verstehen wollen. Die erste klingt eher nach dem, was ich erwarten würde. Gibt's da noch nen dritten Weg? Gruß |
| | |
| | Nach oben #2 |
| fka Gottzilla Registriert seit: 02.02.2005 Ort: Würzburg
Beiträge: 753
| Deine Software liegt als ausführbare JAR vor (oder reden wir hier von nicht ausführbaren Komponenten, sprich keinen Programmen sondern Bibliotheken). Parallel zum JAR gibt es idealerweise ein Unterverzeichnis "libs". Dort kopierst du alle benötigten JARs rein. Im Classpath des JAR-Manifests verweist du auf die JARs im Lib-Verzeichnis.
|
| | |
| | Nach oben #3 |
| Erfahrener Benutzer Registriert seit: 16.08.2008 Ort: Mecklenburg-Vorpommern
Beiträge: 314
|
Wir reden von ausführbaren .jar-Dateien. Okay, soweit klar. Ein paar Monate später erscheint ein JDBC-Update, denn es gab eine unglaublich gigantische Sicherheitslücke, die, wenn man sie alleine schon ansieht, sämtliche sensiblen Daten irreparabel löscht. Reicht es dann, wenn ich das entsprechende .jar durch ein Neues ersetze(Namen der .jars identisch) bzw. im Manifest den Classpath auf das neue .jar umänder? Oder gibts da noch andere Mittel und Wege, dem User etwas Arbeit abzunehmen? |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [JAVA] Wie man aus Java mit einem PHP-Script kommuniziert | sparrow | Tutorials | 0 | 25.03.2006 22:24 |
| [BUCH] Java ist auch eine Insel | kampet | Literatur | 5 | 22.02.2005 14:40 |
| Java properties cache Pfad? Für Sysadmin | jr | Allgemeine Java-Programmierung | 0 | 07.12.2004 12:15 |
| Zwist um Java als Open Source | kampet | Nachrichten | 0 | 05.07.2004 03:37 |