MacOSX: Problem mit Pfad

OP (Firma: Q3) #6839960
Lesenswert?

Ich möchte in einem Verzeichnis ein jar-File (Apache PDFBox) ausführen. 
Wenn ich ein Terminal öffne und mich mit dem cd-Kommando bis in das 
gleiche Verzeichnis wie das jar-File durchhangele, dann funktioniert der 
Aufruf ohne jede Pfadangabe:

java -jar pdfbox.jar PDFToImage -imageType png test.pdf

Der Pfad in dem das Ganze liegt lautet definitiv:

Volumes/System/Users/Administrator/Documents/pdf_test/

Versuche ich den Aufruf aus irgend einem anderen Verzeichnis unter 
Angabe des vollen Pfades, erhalte ich immer die Fehlermeldung "Unable to 
access jarfile":

Mini1:~ administrator$ java -jar 
Volumes/System/Users/Administrator/Documents/pdf_test/pdfbox.jar 
PDFToImage -imageType png test.pdf

Error: Unable to access jarfile 
Volumes/System/Users/Administrator/Documents/pdf_test/pdfbox.jar

Warum? Erbitte Hilfe. Danke.

Nachtrag: Ich habe den Pfad auch schon von Vorne her gekürzt und mit und 
ohne vorangestellte Tilde "~" und Slash ausprobiert, kein Effekt.

Hole ich mir den Pfad des Verzeichnisses per (nicht von mir 
geschriebener) Software, erhalte ich 
"System/Users/administrator/Documents/pdf_test/". Geht aber auch nicht.

Das Kommando "pwd" im Terminal gibt mir aus: 
"/Users/administrator/documents/pdf_test". Auch das funzt beim 
Java-Aufruf nicht.

Groß/Kleinschreibung spielt m.E: unter OSX mit "einfachem" HFS+ keine 
Rolle, zumindest nicht beim händischen Verzeichniswechsel im Terminal.
(Firma: Golden Delicious Computers) #6839971
Lesenswert?

Irgendwie fehlen mir für absolute Pfade ein / am Anfang...

/ sind Pfade beginnend bei "root"
ohne / sind Pfade beginnend ab dem aktuellen Verzeichnis (kann man mit 
cd wechseln und pwd anzeigen).
~/ beginnt bei $HOME.
~name/ beginnt beim Home-Verzeichnis des Nutzers (meist /Users/name/)

Daher denke ich

java -jar
/Volumes/System/Users/Administrator/Documents/pdf_test/pdfbox.jar
PDFToImage -imageType png test.pdf

könnte gehen wenn in der Beschreibung kein Detail fehlt.

(PS: das ist nicht mal MacOS-Spezifisch bis auf /Volumes und /Users 
sondern generell für alle UNIX-Systeme).
OP (Firma: Q3) #6839985
Lesenswert?

Danke, das Geheimnis hat sich gelüftet! Auch vor dem PDF (test.pdf) muss 
der gesamte Pfad stehen. Es genügt, wenn beide Pfade (vor dem Jar und 
vor dem PDF) bei "/Users/..." beginen.
1
Mini1:system administrator$ java -jar /Users/administrator/Documents/pdf_test/pdfbox.jar PDFToImage -imageType png /Users/administrator/Documents/pdf_test/test.pdf
2

3
Newz-Mac-Mini-1:system administrator$

Keine Fehlermeldung und es wird brav ein PNG geschrieben ... in das 
Verzeichnis der PDF-Datei, diesmal ohne Angabe eines Pfades.

Und, falls es interessiert, mit einem Applescript klappt es nun auch:
1
set jarPath to "/users/administrator/documents/pdf_test/pdfbox.jar PDFToImage -imageType png -startPage 1 -endPage 1 /users/administrator/documents/pdf_test/test.pdf"
2
do shell script "java -jar " & jarPath

Nun muss ich nur noch herausfinden, wie das unter Windows geht ...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren