hi evil_morpheus,
vielen Dank für den Link.er hat mir damit den letzten Schliff gegeben um das Programm ausführen zu können.
Entscheiden war für mich beim dem link der Post "Post from Peter Manahan explaining how SWT can be accessed in a non-Eclipse batch script".
Zuerst habe ich aber mich die SWT-Files seperat von eclips.org down geladen und dann die swt.jar in mein lib-Verzeichnis kopiert. die einzelnen lib*.so habe ich ebenfalls in mein lib-Verzeichnis kopiert.
Dann meine MANIFEST.MF Datei angepasst. Sieht jetzt so aus:
Manifest-Version: 1.0
Sealed: false
Class-Path: . lib/org.eclipse.jface_3.1.0.jar lib/swt.jar lib/postgresql-8.0-312.jdbc3.jar
Main-Class: de.xyz.main.XYZ
Dann habe ich mit Ant mein Projekt ins jar und dann mit meinem lib-verzeichnis erstellen lassen. Meine built.xml sieht so aus:
HTML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE project [<!ENTITY buildfile SYSTEM "file:./build-user.xml">]>
<!-- WARNING: Eclipse autogenerated file.
Any modifications will be overwritten.
Please edit build-user.xml instead.
-->
<project name="project_name" default=".">
<property name="project_name.location" value="/home/Path/zum/Projekt/project_name"/>
<path id="compile.classpath">
<pathelement path="bin" />
</path>
<target name="compile">
<javac srcdir="src" destdir="bin">
<classpath refid="compile.classpath"/>
</javac>
</target>
<target name="." depends="compile">
<delete file="XYZ.jar"/>
<delete file="XYZ.zip"/>
<mkdir dir="dist" />
<jar jarfile="XYZ.jar"
basedir="bin"
manifest="META-INF/MANIFEST.MF" />
<zip destfile="XYZ.zip">
<fileset dir="." includes="lib/*" />
<fileset dir="." includes="XYZ.jar" />
</zip>
</target>
</project>
Dann habe ich mir ein Vereichnis erstellt, wo ich die Anwendung haben wollte.
z.B. /home/meinVerzeichnis/swtApp
Dorthinein habe ich meine Zip-Datei entpackt. Nun kam der Link ins Spiel.
Ich habe mich dazu entschlosen, eine Shell-Datei zu erstellen, in der ich dann einen Export zu meinem Lib-Verzeichnis vormulierte .. wie beschrieben. Damit Java dann auch weiss wo die lib*.so Dateien zu finden sind, die er benötigt.
Meine runnit.sh sieht so aus:
export XYZ_HOME= /home/meinVerzeichnis/swtApp/lib
export LD_LIBRARY_PATH=${XYZ_HOME}:${LD_LIBRARY_PATH:-/usr/lib:/lib}
java -jar XYZ.jar
Tja. und nuh funktioniert es auch so, wie es soll. Die Anwendung startet und ich kan darin arbeiten.
Vielen Dank und vielleicht hilft die Anleitung auch anderen.
ZZHAT
//EDIT:
Hi kabel2,
wenn man das zu ersten mal macht ist einem nicht ganz klar, was man eigentlich machen soll. Erstrecht, wenn es über 100 verschiedenne Version im Internet gibt. *g*
Aber stimmt schon, mir fehlte der Path, wo er die lib*.so findet.