Anzeige:
Ergebnis 1 bis 9 von 9

Thema: Mac Befehl mit Java ausführen

  1. #1
    Registrierter Benutzer
    Registriert seit
    08.08.2006
    Beiträge
    12

    [gelöst] Mac Befehl mit Java ausführen

    Hi,

    ich will mit einem Java-Programm eine Datei in ein externes Programm laden.

    für Windows benutze ich den Befehl
    Code:
    process = runtime.exec("cmd /C " + "\"" + dateiname + "\"");
    Das funzt wunderbar. Die Datei mitsamt verknüpftem Programm wird gestartet bzw. geladen.

    Meine Frage: Wie sieht der entsprechende Befehl für MacOS aus? Oder funktioniert der etwa auch so in Mac?
    Geändert von fuzzycontrol (15-08-2006 um 08:51 Uhr)

  2. #2
    Registrierter Benutzer
    Registriert seit
    07.08.2006
    Beiträge
    101
    Ob cmd unter OS X unterstützt wird weiß ich nicht, aber schau dir doch mal die J6SE Beta an, insbesonders -> diese <- Seite...

  3. #3
    Registrierter Benutzer
    Registriert seit
    08.08.2006
    Beiträge
    12
    danke für die schnelle Antwort.
    Das könnte sogar funktionieren, nur kann ich meinem Kunden nicht zumuten ne JRE6 beta zu installieren.
    Ich hab aber in dem Zusammenhang noch etwas gefunden:
    eine lib von https://jdic.dev.java.net/
    In der Beschreibung steht, dass die lib das gleiche kann wie java.awt.Desktop

    Nur leider hab ich in deren Forum über viele Probleme mit der Mac-Unterstützung gelesen.
    Kennt sich vielleicht jemand damit aus?

  4. #4
    Registrierter Benutzer
    Registriert seit
    07.08.2006
    Beiträge
    101
    ...um genau zu sein, JDIC war die Grundlage für diesen Bereich in J6SE. Ich würde dir einfach vorschlagen, dir die lib zu laden und für deine Bedürfnisse zu testen. Das ist die schnellste und einfachste Lösung um herauszufinden ob das für dich dir richtige Wahl ist

  5. #5
    Registrierter Benutzer
    Registriert seit
    08.08.2006
    Beiträge
    12
    ich hab's jetzt endlich mal geschafft, die jdic lib einzubinden und auf Mac zu testen (entwickle in windows)

    Beim Aufruf von :
    Desktop.open(new File(filename));

    kommt auf Mac folgender Fehler:
    java.lang.UnsatisfiedLinkError: no jdic in java.library.path

    die lib liegt bei mir im Verzeichnis /Projektverzeichnis/lib
    scheint er auch irgendwie zu finden

    Ich hab in Ecipse mit Fatjar ein jar erstellen lassen.
    Hab mal in das jar reingeschaut und da ist jdic im lib-Verzeichnis auch drin.

    In Windows funzt das alles natürlich einwandfrei.

    Zufällig eine Lösung parat? ^^
    Geändert von fuzzycontrol (14-08-2006 um 16:15 Uhr)

  6. #6
    Registrierter Benutzer
    Registriert seit
    07.08.2006
    Beiträge
    101
    librarypath != classpath!!!

    Was ihm offensichtlich fehlt, ist die library mit dem native code (unter Win die jdic.dll). KA was da unter OS X gebraucht wird, ich würde es aber mal mit den *.so-Datei(en) versuchen (OS X ist ja am Ende auch ne Unix-Abart, oder?). Wenn dem so ist, sollte es reichen diese Dateien in das Ausführungsverzeichnis zu legen. Ansonsten kann es dir passieren, dass du dir die Sourcen von JDIC ziehen und selbst kompilieren musst...

  7. #7
    Registrierter Benutzer
    Registriert seit
    08.08.2006
    Beiträge
    12
    So, jetzt funzt es endlich (bis hierher ^^).

    Mac benötigt eine spezielle Version von jdic (bisher nur 0.8x),
    die ich auch nur im jdic-Forum gefunden habe. Im Downloadbreich ist da irgendwie nix dergleichen.

    Außerdem muss die jdic.jar unbedingt im lib-Verzeichnis liegen.

    Jedenfalls gehts jetzt so wie ich es mir vorgestellt hatte. Leider ist jetzt nix mehr mit Plattformunabhängigkeit, but never mind. (Vielleicht wird sich das ja mit Java1.6 lösen)

    Vielen Dank für deine Hilfe

  8. #8
    Registrierter Benutzer
    Registriert seit
    08.08.2006
    Beiträge
    12
    Nachtrag:

    die libjdic.jnilib muss auch mit

  9. #9
    Registrierter Benutzer
    Registriert seit
    08.08.2006
    Beiträge
    12
    jetzt muss ich es nur noch hinkriegen, dass die libjdic.jnilib mit ins fatjar/onejar reinkommt, damit die jar wieder stand-alone ist.

    Weiss zufällig jemand wie das geht?

    bei jar-libs ist es ja kein Problem, aber wie sieht das mit native-libs (dll, jnilib) aus?

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •