Runnable Jar mit Jar Archiv erstellen

timestamp

Mitglied Käsekuchen
Hallo Forum,

ich benutze das RXTXcomm.jar Archiv um einen Mikrokontroller mittels Java anzusteuern. Was in Eclipse kein Problem ist, wird zum Problem, wenn ich das Projekt über Eclipse in ein runnable jar file exportiere. Sobald ich auf Methoden aus dem Archiv zurückgreife, hängt sich das Programm auf. Ich habe alle 3 Exportiermethoden ("Extract, Package, Copy") schon ausgetestet, aber keine hat bei mir funktioniert. Kann mir jemand verraten was ich da beachten/einstellen muss?

edit: Hier das ANT-File für "Extract"
XML:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project default="create_run_jar" name="Create Runnable Jar for Project ComPort">
    <!--this file was created by Eclipse Runnable JAR Export Wizard-->
    <!--ANT 1.7 is required                                        -->
    <target name="create_run_jar">
        <jar destfile="C:/Users/.../Desktop/ComPort3.jar" filesetmanifest="mergewithoutmain">
            <manifest>
                <attribute name="Main-Class" value="comport.Gui"/>
                <attribute name="Class-Path" value="."/>
            </manifest>
            <fileset dir="C:/Users/.../workspace/ComPort/bin"/>
            <zipfileset excludes="META-INF/*.SF" src="C:/Users/.../workspace/ComPort/jar/RXTXcomm.jar"/>
        </jar>
    </target>
</project>
 
Zuletzt bearbeitet von einem Moderator:
Was ich mittlerweile noch herausgefunden hab: (Win7)
Das Programm hängt sich beim Aufruf der folgenden Methode:
Java:
enumComm = CommPortIdentifier.getPortIdentifiers();
Unter Linux läuft das Programm allerdings weiter.
 
Hallo,

stürzt das Programm ab oder bleibt es hängen? Wenn es hängen bleibt könntest du mal einen Thread Dump machen und den posten.

Einen Thread Dump kann man auf mehrere Arten erzeugen z.Bsp. via "Ctrl" + "Break" in der Console oder via JVisual VM in der Threads-Ansicht oder auch via jstack (vorher via jps die pid raussuchen)

Wo legst du den die nativen Libs (dlls) für rxtxcomm.jar ab?

Gruß Tom
 
Zurück