# Probleme mit Jar-File in ein Jar-File



## Alex_winf01 (11. Nov 2008)

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?


----------



## thE_29 (11. Nov 2008)

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.


----------



## Alex_winf01 (11. Nov 2008)

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!!


----------



## HoaX (11. Nov 2008)

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.


----------



## thE_29 (11. Nov 2008)

@Hoax: Ja steht in den FAQ: http://www.java-forum.org/de/viewtopic.php?t=13075
Und für kleinere Projekte halt ich das für besser (wenns die Lizenz erlaubt) als zig Jar Files auszuliefern.

@Alex: Einfach drüberkopieren. Solange die Files nicht gleich sind isses egal!
Eventuell die Einträge von der Manifest.MF in deine übernehmen.


----------



## Alex_winf01 (11. Nov 2008)

@ 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?


----------



## Gast (11. Nov 2008)

>> 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.


----------



## L-ectron-X (12. Nov 2008)

Alex_winf01 hat gesagt.:
			
		

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


Ich denke eher, dass es hier um Quelltexte und Dokumente geht.


----------



## thE_29 (12. Nov 2008)

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.


----------

