# Programm funktioniert innerhalb NetBeans ausßerhalb nicht



## hyperion (11. Nov 2009)

Hallo,

ich habe folgendes Problem:

Wenn ich mein Programm über NetBeans (Run Main Project) laufen lasse funktioniert alles wunderbar, lasse ic haber eine JAR-Datei erzeugen und öffne dann die JAR-Datei funktioniert das Programm nicht mehr richtig. Es funktioniert eigentlich alles bis auf eine Funktion. Diese Funktion baut eine Baumsturktur auf und durchsucht diese nach einem optimalen Wert. Da das programm einige Zeit rödelt gehe ich davon aus, dass es eigentlich funktioniert und nur an der Ausgabe scheitert. Die Ausgabe sollte eigentlich auf JLabels innerhalb des programms stattfinden.

Welche Gründe gibt es dafür, dass es in Netbenas funktioniert und außerhalb nicht?

mfg hyperion


----------



## L-ectron-X (11. Nov 2009)

Starte deine Jar-Datei mal mit einem Konsolenaufruf.

```
java -jar MeinJar.jar
```
Wenn es ein Problem gibt, werden dann auf der Konsole Fehlermeldungen ausgegeben, die Aufschluss über die Art des Fehlers geben.


----------



## hyperion (12. Nov 2009)

Ah vielen dank. Ich bin in sachen Fehlerbehebung noch recht unerfahren. Nagut eignetlich auch sonst...

Ich erhalte folgende Fehlermeldung: java.lang.OutOfMemoryError. Ich erinnere mich jetzt auch wieder daran, dass ich mal in der IDE den verfügbaren Speicher hoch gesetzt habe. Gibt es eine Möglichkeit auch außerhalb der IDE den Speicherplatz etwas zu vergrößern?

Edit: Ich habe nun rausgefunden, dass es mit folgendem Aufruf klappt: java -Xmx256m -jar name.jar. Ichfinde es aber leider etwas unschön meine mAuftraggeber sagen zu müssen, dass er das Programm nicht einfach über Doppelklick öffnen kann, sondern erst über die Konsole das Programm aufrufen muss. Gibt es eine Klasse die die Speicherverwaltung der Java VM steuert. 
Also im liebsten wäre mir soetwas:

```
JavaVM.setMemory(256);

Programmcode
```

mfg hyperion


----------



## greye (13. Nov 2009)

Hallo,



hyperion hat gesagt.:


> Edit: Ich habe nun rausgefunden, dass es mit folgendem Aufruf klappt: java -Xmx256m -jar name.jar. Ichfinde es aber leider etwas unschön meine mAuftraggeber sagen zu müssen, dass er das Programm nicht einfach über Doppelklick öffnen kann, sondern erst über die Konsole das Programm aufrufen muss. Gibt es eine Klasse die die Speicherverwaltung der Java VM steuert.



Du kannst eine Batchdatei/ein Shellscript mitliefern, in dem Du Deinen Programmaufruf, so wie an der Konsole eingegeben,  einträgst.
Das lässt sich dann per Doppelklick starten 

Gruß,
Michael


----------

