XML-Datei durch Ausführen des JAR-Reciepe bearbeiten

Status
Nicht offen für weitere Antworten.
G

Gonisch

Gast
Hallo Leute!

Mein Problem ist folgendes:

Das Programm:
Ich habe ein Programm geschrieben mit dem es möglich ist, Fragen zu irgend einem Thema zu prüfen. Die Fragen werden aus einer XML-Datei gelesen und danach im Programm dargestellt. Es gibt 5 Karteien in meinem Programm, in denen sich die Fragen befinden können (ganz nach dem Fahrschul-Programm von Hotter oder Piccadilly), Ziel ist es so viele Fragen wie möglich in der Kartei 5 zu bringen. Jede Frage kennt die Kartei, in der sie sich befindet.

Mein Problem nun:
Nach dem Ende der Prüfung soll die XML Datei, in der die Fragen gespeichert sind, aktualisiert werden. Jedoch funktioniert dies nur, wenn ich das Programm unter der Entwicklungssoftware von SUN Microsystems (also Java) starte. Versuche ich ein JAR-Reciepe zu erstellen und führe das Programm vom Reciepe aus, erstellt mir das Programm lediglich eine neue XML-Datei die dann leer ist. Es steht lediglich der Definitionsstring am Anfang der Datei (<?xml = UTF8...) und "[Fragen=null]". Aber wenn ich den Quellcode über Java ausführe aktualisiert er das Dokument reibungslos. :x

Meine Frage lautet nun: Muss ich ins JAR-Reciepe irgend einen Treiber mit einpacken, damit das XML-Dokument richtig aktualisiert wird? Was kann der Grund für dieses eigenartige, quellcode-unabhängige Problem sein?

Vielen Dank im Voraus! :D
 
G

Gonisch

Gast
Leider gar keine. Der Quellcode funktioniert einwandfrei, wenn ich mit der Entwicklungsumgebung von Java (ich hab das NetBeans 3.5) das Programm ausführe. Aber wenn ich es in ein JAR-File auslagern möchte, sodass ich quasi eine EXE-Datei habe, löscht mir das Programm zwar den ganzen Inhalt des XML-Files aber es schreibt keine Daten rein. Es steht nur ein leeres Feld (eben [Fragen=null]).

Warum bloss? Wenn ich das JAR-File mit NetBeans öffne (rechter Mausklick aufs JAR-File und dann "execute") funktioniert wieder alles. Quasi kommts mir vor, als ob NetBeans irgendwelche Pfade oder Treiber kennt, die nicht im JAR-Reciepe enthalten sind.

Das bittere an meinem Problem ist, dass der Quellcode zwar stimmt, aber das Programm als ausgelagerte JAR-Datei trotzdem nicht funzt.

Achja, danke für deinen Beitrag!
 

Wildcard

Top Contributor
Ich denke schon das du eine Exception bekommst (sofern du keine leeren catch Blöcke hast :noe: ).
Starte das jar von einer Shell mit java -jar deinejar
 
G

Gonisch

Gast
Gut, ich muss mal sehen, ob ich wirklich keine leeren catch-blöcke habe. Und wenn meine datei xyz heisst, muss ich sie mit xyz.jar -jar starten?
 
G

Gonisch

Gast
Du hast recht, er gibt mir eine Exception aus. Aber die e.getMessage() ist leer. Wenn ich mit System.out.println die exception ausgebe, sollte doch in der shell was zu sehen sein oder? bei mir zeigt er aber nichts an. gibs ne andere möglichkeit, fehlermeldungen anzuzeigen?
 
G

Gonisch

Gast
Mist, die Exception sagt: Null, d.h. es bestätigt nur, was ich schon vermutete, dass im doc-Element bzw. im Root-Element der XML-Struktur nix drinsteht. Aber warum nur wenn ich es im JAR-File ausführe? ich bin ratlos. Der Quellcode ist doch der selbe.... ??? Aber danke für den Tipp mit der shell
 

Wildcard

Top Contributor
Mach stattdessen e.printStackTrace.
Ich vermute jetzt einfach mal:
Du versuchst eine XML die im jar enthalten ist zu lesen und verwendest nicht getResource?
 
G

Gonisch

Gast
Genial. Auf den Printstack hatte ich schon total vergessen. Hier sehe ich aufgelistet was er fürn problem hat. Ich denke mit deiner vermutung hast du recht. Die shell schreibt nullpointerexception und FileOutputStream.<init> Unknown Source. Ich habe nie ein "getResource" in meinem Programm verwendet. Statt welchen befehl sollte ich das denn benutzen?
 
G

Gonisch

Gast
Wart mal kurz: Lesen kann ich die XML Datei eh, ich kann die fragen einlesen und sollten dann im RAM enthalten sein. Ich kann die Fragen abrufen, beantworten, aber wenn ich sie dann in die XML Datei zurückspeichern möchte, schreibt er mir nichts rein (eben wegen der Nullpointer Exception)
 

Wildcard

Top Contributor
Ein paar infos deinerseits wären nicht schlecht.
Wo liegt die XML Datei, wie liest du sie ein, wie schreibst du sie raus?
 

Gonisch

Mitglied
Ja, sorry. Sag mir was du brauchst. Die XML Datei liegt in einem Ordner auf dem Destkop, einlesen per JFileChooser, und diesen Pfad samt Datei speichere ich in einen String damit ich beim speichern nicht extra wieder die gleiche Datei auswählen muss. Rausschreiben tu ich sie mit

BufferedWriter bw = new BufferedWriter(new FileWriter(f));

Brauchst du noch was?
 

Wildcard

Top Contributor
getResource ist nur relevant wenn du versuchst auf Dateien innerhalb des jars zuzugreifen.
Gibt mal etwas Code.
 

Gonisch

Mitglied
Main-Programm:
JFileChooser jfc = new JFileChooser();
jfc.showSaveDialog(this);
XMLSpeichern xmls = new XMLSpeichern();
xmls.statistikXMLSpeichern(jfc.getSelectedFile());
-----------------------------------------------------------------
XMLSpeichern:
public void statistikXMLSpeichern(File f)
{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
try
{
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.newDocument();
Element root = doc.createElement("Fragen");
doc.appendChild(root);
Element eWissensstand = doc.createElement("Wissensstand");
Text t = doc.createTextNode(Double.toString(Statistik.getInstance().getWissensstand()));
eWissensstand.appendChild(t);
root.appendChild(eWissensstand);
Vector fragen = Fragen.getInstance().getAlleFragen();

Enumeration enum = fragen.elements();

int i = 1;

while (enum.hasMoreElements())
{
Frage frage = (Frage) enum.nextElement();
Element astEbene1 = doc.createElement("Frage"+i);
frage.frageXMLSpeichern(doc, astEbene1);
root.appendChild(astEbene1);
i++;
}
System.out.println(i);

BufferedWriter bw = new BufferedWriter(new FileWriter(f));
bw.write("<?xml version='1.0' encoding='UTF-8' ?>\n");
bw.write(doc.getDocumentElement().toString());
bw.close();
}
catch(Exception e)
{
e.printStackTrace();
JOptionPane.showMessageDialog(null,e.getMessage());
}
}
-----------------------------------------------------------------
 

Gonisch

Mitglied
Hey! Sorry dass ich mich nicht mehr hier gemeldet habe! Aber wenn f null wäre, dann könnte ich doch keine neues File erzeugen dass dann den String <?xml version=.... und [Fragen=null] reinschreibt. oder??
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Z XML Datei erzugen durch Eingabedaten von JTextfield XML & JSON 3
T Tags in XML Datei mit Java erstellen XML & JSON 3
S XML Datei speichern nicht möglich XML & JSON 13
M Objekt zu jsonArray in .json datei hinzufügen ? XML & JSON 3
J Object in JSON Datei einlesen und als neues Object erzeugen (in ein Object Array) XML & JSON 29
I Mit Hibernate eine XML-Datei in eine Tabellenspalte einlesen. XML & JSON 1
MiMa Buch Metadaten aus XML Datei parsen XML & JSON 48
J Auslesen der Länge einer XML-Datei in Android Studio XML & JSON 8
R xlsx-Datei mit Apache POI einlesen XML & JSON 18
S Validierung einer XML-Datei - Führende Leerzeichen und Tabs XML & JSON 10
S CSV Datei einlesen und XML Ausgeben XML & JSON 2
U jar Datei mit ant erstellen XML & JSON 1
P wie kriege ich eine *.dtd Datei mit in die ausführbare *.jar? XML & JSON 2
K XML Datei erstellen und Daten daraus in Java auslesen XML & JSON 6
D XML-Datei per Button erstellen XML & JSON 3
K JAR-File mit XML-Datei XML & JSON 1
M Text eines Elements in XML Datei mit JAVA bearbeiten und kompletten Element-Zweig hinzufügen XML & JSON 16
I Liste in YAML Datei speichern und wieder auslesen XML & JSON 1
A Leeres Array beim Auslesen von XML-Datei XML & JSON 4
E JTreedaten in eine XML Datei speichern XML & JSON 3
D Int-Werte in XML-Datei schreiben (DOM) XML & JSON 2
B xsd-Datei ins jar file XML & JSON 5
T Formulardaten in XML Datei speichern XML & JSON 5
H Wsdl datei XML & JSON 2
D Große XML-Datei in einzel Dateien splitten XML & JSON 3
S Neue Inhalte in XML-Datei einfügen XML & JSON 0
S JDOM XML Datei darstellen Fehler! XML & JSON 2
S Xml File für den Aufbau einer anderen Xml Datei XML & JSON 6
M XML-Datei mit JAXB und 2 Namespaces XML & JSON 0
J XML - Datei wird nicht ganz angezeigt XML & JSON 2
P (Eclipse)Ant Script, .jar Datei erstellen mit MANIFEST.MF XML & JSON 12
Z XML Datei mit JDOM einlesen und verarbeiten XML & JSON 6
K Beim Parsen einer XML-Datei Connection timed out XML & JSON 4
E ResultSet als XML Datei speichern XML & JSON 7
M XStream, CSV Datei XML & JSON 9
A Frage zu bestehender XML Datei XML & JSON 6
A Simple Constructor Injection Datei-Pfad XML & JSON 6
K Einlesen eines Parameters aus HTML-Datei XML & JSON 4
Maxim6394 Lesen/Schreiben von XML Datei XML & JSON 9
A XML datei lesbar speichern (eingerückt) XML & JSON 7
M XML Datei Parsen XML & JSON 4
Airwolf89 HTML Datei mit SAXBuilder laden hängt sich auf XML & JSON 4
N Java Code aus XML Datei generieren XML & JSON 8
D Aus lesen einer XML-Datei ( 1 root, 3 childs) XML & JSON 7
D Wie XML Datei einlesen und HTML entities übernehmen? XML & JSON 3
R XLM Datei lesen Ändern (kompliziertes Search and Replace) und Speichern XML & JSON 12
K Kurze XML Datei Parsen XML & JSON 5
S XSD-Datei zulässige Werte auslesen XML & JSON 3
M XML Datei heapspace erreicht XML & JSON 3
M Große Datei auslesen/in dieser suchen XML & JSON 2
S Konforme XML Datei über XSD erstellen XML & JSON 2
M RSS-Datei auslesen von Yahoo Webservice XML & JSON 4
T Inhalt einer .xml Datei auf Javaoberfläche wiedergeben XML & JSON 4
M XML Datei drucken XML & JSON 8
T Daten aus Programm in XML Datei speichern XML & JSON 2
D XSD Datei erstellen XML & JSON 4
L [SAX] Geschachtelte XML Datei parsen XML & JSON 3
E XML Datei mit DOM auslesen (Text mit Attributen) XML & JSON 2
G txt. Datei in xml datei konvertieren XML & JSON 21
K XML Datei in ein Java package „einbinden" XML & JSON 3
L Reihenfolge beim xml Datei parsen einhalten? XML & JSON 8
L xml Datei parsen ohne End-Tag XML & JSON 6
C if-Abfrage mit Datei Variable aus XML-Datei XML & JSON 2
sylo Beim Erzeugen einer XML Datei auch die XML Struktur erzeugen? XML & JSON 11
sylo DOM Document in XML Datei schreiben XML & JSON 5
F XML Datei in Java einlesen XML & JSON 4
J Objektstruktur aus XML-Datei erzeugen XML & JSON 21
D ID's aus XML Datei rauslesen und in Java ausgeben XML & JSON 7
E XML Datei einlesen und Elemente in der Console ausgeben XML & JSON 6
N value Wert einer XML Datei mit JAVA bearbeiten XML & JSON 21
ARadauer Aus XML Datei Objekte erstellen... XML & JSON 3
N MalformedByteSequenceException bei Lesen aus XML Datei XML & JSON 2
H xml-Datei mit Attributen einlesen XML & JSON 3
A XML-Datei: Ab wann kritische Größe erreicht? XML & JSON 4
multiholle XML Datei elegant verarbeiten XML & JSON 14
M XMI-Datei auslesen XML & JSON 4
T Ließt keine XML Datei XML & JSON 2
R JAXB: Aus einem Vector oder List XML Datei erstellen XML & JSON 1
J XML-Datei ein Array einlesen XML & JSON 10
M xml - datei erstellen XML & JSON 2
T Wie einen String(XML Inhalt) in eine XML Datei speichern? XML & JSON 8
P Große XML Datei mittels JDOM bearbeiten / einlesen XML & JSON 6
H XML-Datei in einzelne XML-Dateien zerlegen XML & JSON 2
G Tags oder Zeilen der Not-Validen XML-Datei XML & JSON 7
C Suche in XML-Datei XML & JSON 6
D Zeilennummer in der XML - Datei XML & JSON 5
S Einlesen einer xml Datei XML & JSON 4
M Datei parsen XML & JSON 5
S PDF Erzeugung - Probleme mit der XML Datei bei Schema-Infos XML & JSON 2
S XML Datei einlesen, aber root überspringen XML & JSON 2
T Werte in XML Datei an entsprechender Stelle einfügen XML & JSON 3
Saxony unbekannte XML Datei parsen und ausgeben XML & JSON 10
L XML Datei in Java angeben Pfad? XML & JSON 3
A Mehrere Anwender sollen auf eine XML-Datei zugreifen XML & JSON 4
A SVG Datei auslesen und Batik XML & JSON 1
N neue XML-Datei erstellen mit vorhandener Struktur XML & JSON 18
D XML Datei innerhalb einer JAR Datei parsen XML & JSON 2
M brauche große XML-Datei für XPath-Tests XML & JSON 4
L mit Java eine HTML-Datei erstellen XML & JSON 3
L bz2-Datei parsen XML & JSON 9

Ähnliche Java Themen

Neue Themen


Oben