Probleme mit Jar-File in ein Jar-File

Status
Nicht offen für weitere Antworten.

Alex_winf01

Top Contributor
Also, ich habe folgendes Problem:

Ich habe eine Applikation, mit der ich Verbindung aufbaue zur H2-Datenbank. Wie in der FAQ beschrieben, bin ich wie folgt vorgegangen: H2.jar entpacken, ordner org in den Ordner meiner Applikation kopiert und dann in mein Jar mit eingebunden. Nun habe ich zwei Probleme:

1. Die Lizenzrechtliche Frage, ob das schon eine Veränderung der H2-Datenbank darstellt und
2. Ich nutze swingx-0.9.3

Wenn ich jetzt Swingx-0.9.3.jar entpacke, dann habe ich zwei Ordner org in meinem Applikationsordner. Nun möchte ich beide jar-Dateien in mein jar einbinden. Ja, ich weiss, eigentlich nicht möglich. Aber wenn ich den Classpath in der MAINFEST-Datei setze, sollte es laut Literatur funktionieren.

Also habe ich einen Unterordner angelegt namens lib. Dort habe ich meine beiden jar-Files reingelegt und meine MAINFEST-Datei wie folgt angepasst:

Main-Class: Login
Class-Path: lib/h2.jar lib/swing-0.9.3.jar
Leerzeile

Nun erstelle ich mein Jar-File mit folgendem Befehl:

jar cvfm MeinJar.jar MAINFEST.MV *.class img lib

Wenn ich jetzt das JAR-File aufrufe, kann die Applikation den Treiber nicht finden. Wer kann mir helfen?
 
Wenn du das Jar File einbindest (so wie in den Faq) dann brauchst du keine Class-Path angaben!
Die Class-path Angaben beziehen sich auf den lokalen Pfad und der findet die Libs dann ja nicht.
 
Ich kann es aber nicht so machen wie in der FAQ beschrieben. Die Gründe:

1.) Wenn ich beide jar-Files entpacke, dann habe ich 2 X den Ordner org. Das geht nicht gut!!!!!!
2.) Lizenzrechtlich muss ich das so machen, um mir nicht vorwerfen zu lassen, man hätte was an der H2-Datenbank geändert. Und das ist gemäß Lizenzbestimmungen nicht erlaubt!!
 
Alex_winf01 hat gesagt.:
Ich kann es aber nicht so machen wie in der FAQ beschrieben. Die Gründe:

1.) Wenn ich beide jar-Files entpacke, dann habe ich 2 X den Ordner org. Das geht nicht gut!!!!!!
kopier die doch übereinander, solang keine datei in beiden strukturen enthalten ist gibt es da keinerlei probleme. schön finde ich das allerdings nicht. steht das echt in der faq?

Alex_winf01 hat gesagt.:
2.) Lizenzrechtlich muss ich das so machen, um mir nicht vorwerfen zu lassen, man hätte was an der H2-Datenbank geändert. Und das ist gemäß Lizenzbestimmungen nicht erlaubt!!
h2 unterliegt der mpl 1.1 bzw epl 1.0, klar darfst du den source ändern!



das mit dem manifest was du machst sollte funktionieren, nur muss das lib-verzeichnis halt auf gleicher höhe wie dein jar liegen, und nicht in deine jar mit reingepackt sein.
 
@ HoaX

Ich will meinen eigenen Code meiner Applikation nicht offen dem Anwender zur Verfügung stellen. Somit kommt für mich eine Änderung der H2-Datenbank nicht in Frage. Das habe ich schon von unserem Rechtsanwalt klären lassen. Daher war meine Frage auch, ob das "entpacken" des Treibers eine Änderung der H2-Datenbank darstellt?
 
>> Ich will meinen eigenen Code meiner Applikation nicht offen dem Anwender zur Verfügung stellen.

Klar, diese Krönung der Entwicklungsevolution ist sicherlich Milliarden wert und bestimmt auch gefährlich in den falschen Händen... SCNR.

>> Daher war meine Frage auch, ob das "entpacken" des Treibers eine Änderung der H2-Datenbank darstellt?

Bestimmt, du verwendest es ja nicht so wie es geliefert wurde, sondern änderst es ab.
 
Warum sollte das abändern von Jar Paketen eigentlich verboten sein?
Jar ist ja nur ein Zip File von den class Dateien.

Wenn man diese jetzt komplett entpackt, verändert man ja nix am Source oder so.
Eventuell eine License.txt ins jar packen oder im Manifest halt was eintragen.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben