2017-07-26 2 views
0

Ich habe einige Java-Code, dass ich eine Datei zu öffnen, bin mit:Java Öffnen von Dateien - von der Eclipse-funktioniert, funktioniert nicht in runnable JAR/exe

Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + output.getAbsolutePath()); 

Es funktioniert gut, wenn ich es ausführen Wenn ich jedoch aus Eclipse das Projekt in ein ausführbares JAR exportiere, funktioniert die Funktionalität nicht mehr. Ich habe verschiedene verschiedene Optionen ausprobiert, um die Datei (Desktop.open, ProcessBuilder usw.) alle mit den gleichen Ergebnissen zu öffnen (Eclipse OK, runnable JAR nicht).

Dieser genaue Code funktionierte früher, als ich ihn in der Vergangenheit (vor 1,5 Jahren) exportiert habe. Ich glaube das war mit Java 1.6 und jetzt sind wir auf Java 1.7. Nicht sicher, ob das der Grund ist, und ich habe nicht die Möglichkeit, mit früheren Versionen von Java zu kompilieren. Irgendwelche Ideen?

+0

Können Sie die Ausnahmen posten, die Sie erhalten, wenn es möglich ist? –

+0

Laufen Sie es auf demselben Computer? –

+0

Ich würde vermeiden, die dll vollständig zu verwenden: Java wird überall ausgeführt, auf diese Weise sind Sie an MS Windows gebunden und möglicherweise sogar eine Version davon, um es tatsächlich zu sehen, funktioniert. –

Antwort

0

danke für den Versuch zu helfen. Ich fand die Antwort, die ganz einfach ist, dass ich ein Idiot bin :) Öffnen der Datei war nicht das Problem, die Datei wurde nicht an erster Stelle geschrieben, und der Grund, warum es nicht geschrieben wurde, war ganz einfach weil der Code so eingestellt wurde, dass er in eine verschachtelte Ordnerstruktur geschrieben wurde, die noch nicht erstellt wurde. Ich habe nicht einmal darüber nachgedacht, weil ich annahm, dass alle notwendigen Ordner, die in der Ausgabezeichenfolge angegeben sind, automatisch erstellt würden. Do!