huhu,
Ich wurde von einem Bekannten gefragt, ob ich für ihn ein kleines GUI für das wiederherstellen von Dateien/Ordnern mit rdiff schreiben kann.
Das Wiederherstellen an sich übernimmt ein shellscript, das er geschrieben hat, diesem wird nur von dem GUI der Dateipfad als Parameter übergeben.
Alles klappt, bis zu dem Zeitpunkt, wo ich alles in ein .jar archiv reinpacke.
Und zwar:
Das Script liegt in einem Unterordner "scripts" in dem Archiv, und ich habe keine Ahnung, wie ich darauf zugreifen kann.
ich habe es bereits so probiert:
das erzeugt aber folgende Fehler:
Google, mehrere Leute sowie die Boardsuche haben mir keine Lösungen angeboten.
achja, zu der Java Version:
ich benutze Linux, "java -version" spuckt mir folgendes aus:
und "javac -version" dieses:
Über zumindest einen Lösungsansatz würde ich mich sehr freuen!
ich hoffe, ihr könnt mir weiterhelfen, ich bin schon fast am verzweifeln ;(
mfg mupilz
Ich wurde von einem Bekannten gefragt, ob ich für ihn ein kleines GUI für das wiederherstellen von Dateien/Ordnern mit rdiff schreiben kann.
Das Wiederherstellen an sich übernimmt ein shellscript, das er geschrieben hat, diesem wird nur von dem GUI der Dateipfad als Parameter übergeben.
Alles klappt, bis zu dem Zeitpunkt, wo ich alles in ein .jar archiv reinpacke.
Und zwar:
Das Script liegt in einem Unterordner "scripts" in dem Archiv, und ich habe keine Ahnung, wie ich darauf zugreifen kann.
ich habe es bereits so probiert:
Java:
java.net.URL scriptURL = getClass().getResource("scripts/makebackup");
Process p = Runtime.getRuntime().exec(scriptURL + " " + path); //in der Variable "path" ist der Pfad zu der wiederherzustellenden Datei abgelegt
das erzeugt aber folgende Fehler:
Code:
java.io.IOException: Cannot run program "jar:file:/home/mato/Desktop/searchBackup.jar!/scripts/makebackup": java.io.IOException: error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:474)
at java.lang.Runtime.exec(Runtime.java:610)
at java.lang.Runtime.exec(Runtime.java:448)
at java.lang.Runtime.exec(Runtime.java:345)
at searchBackup.actionPerformed(searchBackup.java:210)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:253)
at java.awt.Component.processMouseEvent(Component.java:6106)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3276)
at java.awt.Component.processEvent(Component.java:5871)
at java.awt.Container.processEvent(Container.java:2105)
at java.awt.Component.dispatchEventImpl(Component.java:4467)
at java.awt.Container.dispatchEventImpl(Container.java:2163)
at java.awt.Component.dispatchEvent(Component.java:4293)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4125)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055)
at java.awt.Container.dispatchEventImpl(Container.java:2149)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4293)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:604)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.<init>(UNIXProcess.java:164)
at java.lang.ProcessImpl.start(ProcessImpl.java:81)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:467)
... 29 more
Google, mehrere Leute sowie die Boardsuche haben mir keine Lösungen angeboten.
achja, zu der Java Version:
ich benutze Linux, "java -version" spuckt mir folgendes aus:
Code:
java version "1.6.0_0"
OpenJDK Runtime Environment (build 1.6.0_0-b11)
OpenJDK 64-Bit Server VM (build 1.6.0_0-b11, mixed mode)
und "javac -version" dieses:
Code:
javac 1.6.0_0-internal
Über zumindest einen Lösungsansatz würde ich mich sehr freuen!
ich hoffe, ihr könnt mir weiterhelfen, ich bin schon fast am verzweifeln ;(
mfg mupilz