ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
1446
1446
EMPFEHLEN
-
Hallo,
ich habe in meinem Netbeans-Projekt Ant ein "FatJar" gebaut. Das hat auch funktioniert. Leider kann ich das Jar nicht ausführen, bzw. es läuft nicht richitg. Es kommen keine ClassNotFound-Exceptions oder irgendeine andere Exception. Ich habe auch schon mit dem Classpath herumexperimentiert. Hat aber auch nichts gebracht. Hat noch irgendeiner ne Idee warum das Programm ohne irgendeine Meldung einfach durchläuft oder abbricht? ...
Vielen Dank
-
20.01.10 13:01 #2
Hi,
Java sucht beim ausführen deines JARs in der Manifest Datei /META-INF/manifest.mf nach der auszuführenden main Klasse. Diese wird im Property 'Main' definiert. (http://openbook.galileocomputing.de/...sel_28_004.htm)
Ansonsten könnte es noch sein das dir andere Libs fehlene die du in deinem Programm nutzt. Dazu bräuchte man mal einer deiner ClassNotFoundExceptions um das weiter einzugrenzen.
Du musst darauf achten das sämtliche benutzen libs im classpath verfügbar sind.
vg,
ck.
-
Es gibt einen ganz interessanten ANT Task um ein richtiges "FatJar" zu bauen. Der Task baut dir ein Jar in dem alle zur runtime benötigten Jars mit reingepackt werden.
http://one-jar.sourceforge.net/
Im build.xml musst du gar nicht mal viel machen, den Task einbinden:
Code xml:1 2 3 4 5 6 7
<property name="one-jar.dist.dir" value="./lib/compile/" /> <property name="one-jar.version" value="0.96" /> <path id="oneJar.Classpath"> <pathelement location="${basedir}/lib/one-jar-ant-task-${one-jar.version}.jar" /> </path> <taskdef name="one-jar" classname="com.simontuffs.onejar.ant.OneJarTask" classpathref="oneJar.Classpath" />
Dann noch fix ein Manifest anlegen:
Code xml:1 2 3 4 5 6
<echo file="${build.dist}/${build.distname}.mf" append="false"> Manifest-Version: 1.0 Specification-Title: ${build.distname} Main-Class: com.simontuffs.onejar.Boot One-Jar-Main-Class: com.mypackage.MainClass </echo>
Letzlich der Aufruf von dem OneJar Task:
Code xml:1 2 3 4 5 6 7 8 9 10 11 12
<one-jar destfile="${build.dist}/${build.distname}-standalone.jar" manifest="${build.dist}/${build.distname}.mf"> <main> <fileset dir="${build.classes}"> <include name="**/**" /> </fileset> </main> <lib> <fileset dir="./lib/runtime"> <include name="**/*.jar" /> </fileset> </lib> </one-jar>
Viele Grüße
f.Geändert von fassy (21.01.10 um 13:14 Uhr)
Ähnliche Themen
-
JSF "Komponenten dynamisch rendern" oder auch "die 'nächste' Seite beeinflussen"
Von Wutklumpen im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 1Letzter Beitrag: 22.09.09, 13:51 -
"Windows Server 2003" oder "Widnows Small Business"
Von flukas im Forum Microsoft WindowsAntworten: 6Letzter Beitrag: 07.07.08, 08:15 -
Kann ich eine "Pipe" erstellen, oder wie geht OLE
Von Gratemyl im Forum Visual Basic 6.0Antworten: 0Letzter Beitrag: 22.07.04, 17:35 -
Mit "Zeos Access" eine mySql daten aktuallisieren oder updaten!?
Von Xel im Forum Delphi, Kylix, PascalAntworten: 0Letzter Beitrag: 03.02.04, 11:29 -
kann mir wer helfen **** suche tut oder anregungen für eine "Anzeigetafel"
Von HammerHe@rt im Forum PhotoshopAntworten: 15Letzter Beitrag: 04.09.01, 08:08





Zitieren
Login





