# Probleme beim erstellen einer Jar



## stareck (22. Okt 2008)

Hallo zusammen,

also ich habe folgendes Problem.

Ich hab nen kleines Tool geschrieben, in dem ich Einstellungen in eine XML Datei schreibe und ich diese auch ändere. Unter Eclipse klappt das auch alles wunderbar, wenn ich das Projekt jetzt exportiere und in eine Jar umwandele klappt es nicht mehr, weil er die Datei nicht findet. Kann mir jemand helfen, wie ich das einstelle??

Also meine Sourcen liegen im package /sourcen
und die xml datei liegt im package /resourcen/options.xml

Danke schon mal.


Gruß
stareck


----------



## Gelöschtes Mitglied 5909 (22. Okt 2008)

du kannst nicht so einfach daten in eine jar schreiben.
Mach sie aus der jar raus wenn du schreiben willst, lesen geht aber.


----------



## stareck (22. Okt 2008)

das hab ich ja schon gemacht, hab meine xml datei in das gleiche verzeichnis kopiert, wo auch meine jar datei ist. aber das mit dem lesen und schreiben klappt nicht. wie muss ich denn den pfad im programm ändern, damit ich auf die xml datei zugreifen kann?


----------



## pinhead84 (22. Okt 2008)

Wenn man keinerlei Pfadangaben macht wird im Startverzeichnis des Programms nach der Datei gesucht. Relative Pfadangaben beziehen sich ebenfalls auf das Startverzeichnis.


----------



## Guest (22. Okt 2008)

ja super danke, auf so ne einfache sache bin ich natürlich nicht gekommen.
also meine log datei funktioniert, nur meine xml datei noch nicht, dann muss ich wohl noch einen fehler im programm haben.


----------



## L-ectron-X (23. Okt 2008)

Gibts denn eine Fehlermeldung?


----------



## stareck (23. Okt 2008)

ne gibt es nicht, nur das Programm startet nicht und unter eclipse läuft alles super nur wenn ich es in eine jar umwandele nciht mehr. und wenn ich den xml parser rausnehme, klappt es auch wieder, also liegt auf jeden fall da dran


----------



## Guest (24. Okt 2008)

wenn du es unter eclipse startet, stimmt die position der xml ja noch...
änder den pfad in ("test.xml") ab und leg die xml neben die jar datei.....dann gehts in eclipse nicht mehr.. aber in der jar^^


----------



## stareck (24. Okt 2008)

ja das hatte ich ja so gemacht, aber klappt nicht, das prog startet nicht. na  wen ich das dann so richtig gemacht hatte, dann kanns ja wirklich nur an meinem prog liegen


----------



## stareck (24. Okt 2008)

also ich versteh das echt nicht, mein Logger funktioniert ohne probleme nur das schreiben in die xml nicht, aber das lesen klappt auch.
Schaut euch mal meinen Quelltext an, aber wie gesagt unter eclipse klappt alles super


```
public class XMLParser 
{
	private Document document;
	private File f;

	public XMLParser()
	{
		f = new File("options.xml");
		if(f.exists())
		{
			try 
			{
				DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
				DocumentBuilder builder = factory.newDocumentBuilder();
				document = builder.parse(f);
				
			} catch (SAXException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			} catch (IOException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}catch (ParserConfigurationException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

        public void writeElement(String element, String inhalt)
	{
		if(f.exists())
		{
			if(element.equals("Empfangspfad") || 
			   element.equals("Empfangsfavorit") ||
			   element.equals("ProgStart") ||
			   element.equals("Port"))
			{
				org.jdom.Document doc;
				try {
					doc = new SAXBuilder().build("options.xml");
					Element settings = doc.getRootElement();
			        Element attributeElement = settings.getChild(element);
			        attributeElement.setText(inhalt);
			        
			        FileOutputStream fos = new FileOutputStream(new File("options.xml"));
			        XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat());
			        outputter.output(doc, fos);
			        fos.flush();
			        fos.close();
			        Logger.getLogger().schreibe("XML Datei wurde aktualisiert ("+element +")");
				
				} catch (JDOMException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
		else
		{
			Logger.getLogger().schreibe("Fehler beim Schreiben in XML Datei");
			JOptionPane.showMessageDialog( null, "Die XML Datei existiert nicht" );
		}
	}
}
```

Also in der writeElement Methode ist "element" der tagname der file und inhalt der neue Inhalt.

Seht ihr da irgend einen Fehler?


----------



## stareck (26. Okt 2008)

Hat keiner eine Idee, wodran das liegen könnte??


----------



## stareck (11. Nov 2008)

also ich verzweifele jetzt langsam, find den Fehler echt nicht, ist sehr komisch alles.
hat von euch echt keiner eine idee, wodran das liegen könnte??


----------



## stareck (20. Nov 2008)

hi leute,

kann mir mal einer ein kleines beispielprogramm geben, wo in eine xml datei geschrieben wird, also ein eintrag geändert wird. 
weil ich finde meinen fehler absolut nciht, unter eclipse läuft alles einwandfrei sobald ich es in eine jar exportiere startet das programm nicht mehr. und wenn ich meine schreiben methode auskommentiere, dann klappt alles, also auch das lesen der xml datei.


----------

