Hillfffeeee!

Hallo ich bins wieder,

ich hab folgendes Problem, wenn ich meinen GUI mit Netbeans kompeliere, startet es das GUI normal, dort kann man in verschiedene Felder Text eingeben, dieser wird in einer Datei gespeichert, soweit so gut!!
Wenn ich aber das GUI mit dem Befehl aus einer Shell starte mit

java -jar Dateiname.jar

und dort in die Felder Text eintippe, werden diese nicht gespeichert, woran kann es denn liegen, hat jemand einen Tip für mich???

Danke im Voraus!!!

Auch hallo.

Wenn ich aber das GUI mit dem Befehl aus einer Shell starte
mit

java -jar Dateiname.jar

und dort in die Felder Text eintippe, werden diese nicht
gespeichert. Woran kann es denn liegen, hat jemand einen Tip
für mich???

Ohne Code (oder gleich das ganze Projekt) ist das etwas schwerer zu sagen. Dennoch ein Rateversuch: NetBeans hat die Abhängigkeiten zwischen den Dateien irgendwo gespeichert und ruft diese auch auf. Für den einfachen Java Compiler gilt dieses nicht.

HTH
mfg M.L.

So steht es bei mir im Quellcode:

String FILENAME = „//Users/hh.conf“;
private void jButton1ActionPerformed(java.awt.event.ActionEvent event)
{

if (event.getSource() == jButton1)
{
try
{
ausgabeDatei = new PrintWriter (new FileWriter(FILENAME, false));
ausgabeDatei.print(„Hier steht was\n“);
ausgabeDatei.close();
}
catch (IOException e)
{
System.err.println("Dateifehler " + e.toString() );
System.exit(1);
}
}

so sieht es ungefähr aus und funktioniert auch mit netbeans-aufruft!!!

Hallo erstmal.

So steht es bei mir im Quellcode:

…gemeint war der _ganze_ Quellcode :wink: So das jemand völlig Unbeteiligtes sich mit NetBeans bewaffnen kann und das Problem nachvollziehen kann.
Z.B. so:
MyTest.java

println ("Hallo Welt")

MyTest_success.java

println ("Hallo Mond")

usw…
mfg M.L.

Hallo,

könnte es sein, dass du dann keine Schreibrechte dort hast?

Gib doch mal dieses Verzeichnis für jeden frei. Vielleicht funktionierts dann.

Es kann auch sein, dass du eine andere Java-Version zwischen Netbeans und System benutzt. Wenn du dann neue Funktionen verwendet hast, läufts nicht. Dann solltest du allerdings einen Stack-Trace in der Konsole sehen. Ist also eher unwahrscheinlich.

Gruß

Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

wenn Du das Programm mit Netbeans startest, wird das .jar aus dem dist/ Verzeichnis Deines Projekts aufgerufen.
Ausgeführt wird es jedoch in Deinem Projekt-Verzeichnis.
Netbeans fügt wahrscheinlich beim Starten auch Parameter an, wie z.B. erforderliche ClassPath-Angaben.
Wenn Du Dein Programm über die Shell starten willst, mußt Du auf jeden Fall bedenken, daß sich die Pfade unterscheiden. Es kann also sein, daß Deine Dateien abgespeichert wurden, Du sie aber nicht dort findest, wo Du sie vermutest.

Wenn Du noch weitere .jars verwendest (irgendeine 3rd Party API oder z.B. Netbeans Swing-Layout-Extensions [matisse]), solltest Du den nötigen ClassPath in Dein manifest-File schreiben. Netbeans baut das Manifest für das jar aufgrund der manifest-Datei in Deinem Projektverzeichnis.

Hier eine kleine Anleitung, entnommen aus http://forum.java.sun.com/thread.jspa?threadID=66452…

  1. Create an empty directory test somewhere in the computer.
  2. Copy the external library directory or jar file to test.
  3. Add the line Class-Path: (where name is the library’s directory or jar name) to the manifiest.mf file. If multiple items need to be listed, separate them with a space - not a colon or semi-colon.
    CAUTION: The file must end with a linefeed/newline, and as far as I can determine, the can’t contain spaces.
  4. Build the Project in NB.
  5. Copy the jar it creates (in the dist directory) to test.
    6 From the test directory, either issue the java -jar command or [in Window, assuming your machine is setup to do this] click/double-click the jar.

Ansonsten würde ich dazu raten, ein paar Debug-Ausgaben zu verwenden, um herauszufinden, an welcher Stelle Dein Code nicht funktioniert. Vielleicht kannst Du darüber nachvollziehen, was das Problem ist.

Grüße,

Thomas

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]