Ich arbeite gerade an einer Java-Anwendung, die bisher ohne Probleme sowohl aus Eclipse heraus als auch als .jar-File mit allen Funktionen gelaufen ist. Beim Einsatz auf dem Rechner einer Kollegin hat allerdings das Speichern von Daten in verschiedene Dateien nicht funktioniert. Beim Versuch, den Fehler zu beheben, hat sich das Problem auf folgenden Testcode reduzieren lassen:
Aus Eclipse heraus läuft das Programm anstandslos. Wenn es als "ausführbares" .jar exportiert wird, lässt es sich auch ohne Schwierigkeiten starten, nach dem "los!"-Fenster kommt es allerdings zu Problemen, die sich mir nicht so ganz erschließen. Betriebssystem ist Windows 7, JRE ist 1.6 bzw. 1.7, das .jar wurde mit den Eclipse-Defaulteinstellungen exportiert.
- Von der Konsole aus mit
oder
gestartet, gibt es keinerlei Probleme.
- Vom Explorer aus per Doppelklick gestartet, läuft das Programm erst einmal immer in den catch-Block.
- Das Ändern der Benutzerrechte ermöglicht es bei manchen Benutzern, dass das Programm korrekt ausgeführt wird, allerdings nicht zuverlässig.
- Bei manchen Benutzern läuft es zwar beim Öffnen des Programms per Doppelklick auf das Explorer-Item, aber nicht, wenn man das Programm mit Rechtsklick -> Öffnen mit mit der JRE startet.
Mein Problem ist jetzt, dass ich natürlich gern garantieren möchte, dass das Programm überall vom Explorer gestartet läuft, ohne dass man auf dem Rechner wild herumbasteln muss.
Kann sich jemand vielleicht vorstellen, an welcher Stelle der Fehler zu suchen ist oder kann ihn zumindest reproduzieren? Mir fällt einfach nichts mehr dazu ein. ???:L
Java:
public class FileTest {
public static void main(String[] args){
File f = new File("filetest.txt");
Writer writer = null;
JOptionPane.showMessageDialog(null, "los!");
try{
writer = new BufferedWriter(new FileWriter(f));
writer.write("Test bestanden!");
JOptionPane.showMessageDialog(null, "fertig!");
} catch(Exception e){
JOptionPane.showMessageDialog(null, e.getMessage());
} finally{
if(writer != null)
try{
writer.close();
} catch(IOException ioe){
}
}
}
}
Aus Eclipse heraus läuft das Programm anstandslos. Wenn es als "ausführbares" .jar exportiert wird, lässt es sich auch ohne Schwierigkeiten starten, nach dem "los!"-Fenster kommt es allerdings zu Problemen, die sich mir nicht so ganz erschließen. Betriebssystem ist Windows 7, JRE ist 1.6 bzw. 1.7, das .jar wurde mit den Eclipse-Defaulteinstellungen exportiert.
- Von der Konsole aus mit
Code:
java -jar
Code:
javaw -jar
- Vom Explorer aus per Doppelklick gestartet, läuft das Programm erst einmal immer in den catch-Block.
- Das Ändern der Benutzerrechte ermöglicht es bei manchen Benutzern, dass das Programm korrekt ausgeführt wird, allerdings nicht zuverlässig.
- Bei manchen Benutzern läuft es zwar beim Öffnen des Programms per Doppelklick auf das Explorer-Item, aber nicht, wenn man das Programm mit Rechtsklick -> Öffnen mit mit der JRE startet.
Mein Problem ist jetzt, dass ich natürlich gern garantieren möchte, dass das Programm überall vom Explorer gestartet läuft, ohne dass man auf dem Rechner wild herumbasteln muss.
Kann sich jemand vielleicht vorstellen, an welcher Stelle der Fehler zu suchen ist oder kann ihn zumindest reproduzieren? Mir fällt einfach nichts mehr dazu ein. ???:L