freemind geht nicht wg. JAVA?

U

undercover

Aktives Mitglied
Thread Starter
Dabei seit
06.09.2007
Beiträge
1.017
Reaktionspunkte
33
Hallo,

ich habe mir gestern einen MacMini 1.84 1GB Ram gekauft. Und bin gerade dabei ihn einzurichten.

Nun bin ich bei Applikation Freemind 0.8.1 auf ein Problem gestoßen.

Nach start von Freemind, dauert es eine Weile, und dann kommt die Fehlermeldung:

Uncaught exception in main method:
java.lang.OutOfMemoryError: Java heap space

Kennt jemand die Meldung? Habe ich zu wenig Speicher. Aber das kann ja auch nicht sein oder?
 

Anhänge

  • java-out-of-memory.jpg
    java-out-of-memory.jpg
    19,2 KB · Aufrufe: 74
Wie startest Du das Programm denn? Ist das eine .jar-Datei?

(Prinzipiell musst Du nur mehr Speicher zuweisen, also z.B. mit "-Xmx512M" - weiß jetzt nur nicht, ob dir das was hilft als Antwort)
 
  • Gefällt mir
Reaktionen: undercover
Hi,

starten tue ich es über das Dock. Ist eine Freemind.app Applikation, welche ich von /Applikations aus dem Finder ins Dock gezogen habe.

in dem Archiv gibt es schon .jar Dateien. Welche aber wie aufgerufen werden weiß ich nicht:


Code:
mini:FreeMind.app gerhard$ find . |grep -i jar
./Contents/Resources/Java/lib/ant/lib/dom.jar
./Contents/Resources/Java/lib/ant/lib/jax-qname.jar
./Contents/Resources/Java/lib/ant/lib/jaxb-api.jar
./Contents/Resources/Java/lib/ant/lib/jaxb-impl.jar
./Contents/Resources/Java/lib/ant/lib/jaxb-libs.jar
./Contents/Resources/Java/lib/ant/lib/namespace.jar
./Contents/Resources/Java/lib/ant/lib/relaxngDatatype.jar
./Contents/Resources/Java/lib/ant/lib/sax.jar
./Contents/Resources/Java/lib/ant/lib/xsdlib.jar
./Contents/Resources/Java/lib/commons-lang-2.0.jar
./Contents/Resources/Java/lib/forms-1.0.5.jar
./Contents/Resources/Java/lib/freemind.jar
mini:FreeMind.app gerhard$

Gruß,

Gerhard
 
die Java VM hat zu wenig Speicher, der Hinweis von DeineMudda sollte das Problem lösen!
 
  • Gefällt mir
Reaktionen: undercover
wenn es schon eine java .app ist, dann musst du in deren Info.plist unter <key>Java</key>
folgendes dazu tun oder ändern:
Code:
		<key>VMOptions</key>
		<string>-Xms128m -Xmx512m</string>
 
  • Gefällt mir
Reaktionen: undercover
Du kannst die Speicherzuteilung für das Java Programm über ein Setting im Application Bundle ändern. Dort drin gibt es eine Info.plist Datei, welche Informationen über das Programm enthält (Namen, Author, im Dock anzeigen ja/nein, etc.). Ein Bereich in dieser XML Datei enthält die Parameter für die Java VM. Dort muss einfach ein weiterer Key hinzugefügt werden:
Code:
<key>VMOptions</key>
<string>-Xms128m -Xmx512m</string>
-Xms setzt die Speichergröße in Megabyte fest, die das Programm zugewiesen bekommt. Und -Xmx ist dann der maximale Wert, den das Programm benutzen darf. Diese Art der Speicherzuteilung erinnert irgendwie an die alten OS 9 Tage :D Aber Java ist eben "by Design" ein eigenes System in einem System. Mehr Infos über die Parameter findest Du hier:http://developer.apple.com/document...ef/Articles/JavaDictionaryInfo.plistKeys.html

Viele Grüße
Christian
 
  • Gefällt mir
Reaktionen: undercover
wenn es schon eine java .app ist, dann musst du in deren Info.plist unter <key>Java</key>
folgendes dazu tun oder ändern:
Code:
		<key>VMOptions</key>
		<string>-Xms128m -Xmx512m</string>


Danke,
habe ich nun gemacht.

Code:
[I][B]vi /Applications/Freemind.app/Contents/Info.plist[/B][/I]
.
.
.
  <string>FM</string>
    <key>CFBundleIconFile</key>
    <string>FreeMindWindowIcon.icns</string>
    <key>Java</key>
  [B]      <key>VMOptions</key>
        <string>-Xms128m -Xmx512m</string>
[/B]    <dict>
        <key>MainClass</key>
        <string>freemind.main.FreeMind</string>
        <key>JVMVersion</key>
.
.
.


Der Erfolg ist, das das Freemind Icon im Dock nach start zwei mal hüpft, und dann wieder steht. Ohne das Das Prog läuft.
Kann man das auch im Terminal öffnen, so das ich Meldungen sehe?!

Bin nicht sehr bewandert was Java angeht. Sorry!
 
Du hast den Key an der falschen Stelle in der plist Datei eingesetzt:
<key>Java</key>
<key>VMOptions</key>
<string>-Xms128m -Xmx512m</string>
<dict>
<key>MainClass</key>
<string>freemind.main.FreeMind</string>
<key>JVMVersion</key>
Der neue Key muss nach dem "<dict>" eingesetzt werden.
 
Hallo,

jetzt habe ich es manuell gestartet:

pwd
/Applications/Freemind.app/Contents/Resources/Java/lib
mini:lib gerhard$ java -jar freemind.jar

und siehe da, es geht.

Nur der Aufruf über Finder geht nicht??
 
Du hast den Key an der falschen Stelle in der plist Datei eingesetzt:
Der neue Key muss nach dem "<dict>" eingesetzt werden.

Danke!

Habe das geändert.

Jetzt ist es wieder wie vorher.

Aber über den Terminal Aufruf geht es??

Ist es ein Unterschied, ob man Java über Terminal oder über Finder startet?
 
Die Java-Maschine kennt einen ganzen Batzen an Parametern. Die Speicherparameter sind dabei sicher die Wichtigsten für Dich. Man kann die entweder in der Komandozeile benennen oder eben bei einer App in der .plist.

Sind in der .plist Werte gezielt gesetzt unterscheiden die sich nat. von einem Start per Terminal bei dem keine Werte angegeben werden. Sprich: um das zu bewerten braucht man aus der .plist ALLES was zwischen den beiden

<dict>
</dict>

Tags steht!
 
Bekommst Du diese Fehlermeldung eigentlich so einfach out-of-the-box nach dem Start, ohne eine Datei zu öffnen oder ähnliches? Welche Version von Freemind hast Du? Die aktuelle 0.8.1?
 
Mit "plutil -lint Info.plist" kannst Du testen, ob die Info.plist "sauber" ist.
 
Code:
...

 26  <key>Java</key>
 27     <dict>
 28 <key>VMOptions</key>
 29 <string>-Xms128m -Xmx512m</string>
 30         <key>MainClass</key>
 31         <string>freemind.main.FreeMind</string>
 32         <key>JVMVersion</key>
 33         <string>1.4+</string>
 34         <key>ClassPath</key>
 35         <array>
 36             <string>$JAVAROOT/lib/ant/lib/dom.jar</string>
 37             <string>$JAVAROOT/lib/ant/lib/jax-qname.jar</string>
 38             <string>$JAVAROOT/lib/ant/lib/jaxb-api.jar</string>
 39             <string>$JAVAROOT/lib/ant/lib/jaxb-impl.jar</string>
 40             <string>$JAVAROOT/lib/ant/lib/jaxb-libs.jar</string>
 41             <string>$JAVAROOT/lib/ant/lib/namespace.jar</string>
 42             <string>$JAVAROOT/lib/ant/lib/relaxngDatatype.jar</string>
 43             <string>$JAVAROOT/lib/ant/lib/sax.jar</string>
 44             <string>$JAVAROOT/lib/ant/lib/xsdlib.jar</string>
 45             <string>$JAVAROOT/lib/commons-lang-2.0.jar</string>
 46             <string>$JAVAROOT/lib/forms-1.0.5.jar</string>
 47             <string>$JAVAROOT/lib/freemind.jar</string>
 48         </array>
 49         <key>Properties</key>
 50         <dict>
 51             <key>com.apple.mrj.application.apple.menu.about.name</key>
 52             <string>FreeMind</string>
 53             <key>apple.awt.textantialiasing</key>
 54             <string>false</string>
 55             <key>com.apple.smallTabs</key>
 56             <string>false</string>
 57             <key>apple.laf.useScreenMenuBar</key>
 58             <string>true</string>
 59             <key>com.apple.mrj.application.live-resize</key>
 60             <string>true</string>
 61             <key>apple.awt.antialiasing</key>
 62             <string>false</string>
 63             <key>apple.awt.showGrowBox</key>
 64             <string>true</string>
 65         </dict>
 66     </dict>

...
 
Bekommst Du diese Fehlermeldung eigentlich so einfach out-of-the-box nach dem Start, ohne eine Datei zu öffnen oder ähnliches? Welche Version von Freemind hast Du? Die aktuelle 0.8.1?

Ich bekomme die Fehlermeldung so ca. 1min nachdem Programm aufruf. Bis dahin sehe ich das Blaue Freemind in der Bildschirm Mitte. Ja, ich nutze 0.8.1


Code:
mini:Contents gerhard$ plutil -lint Info.plist 
Info.plist: OK
mini:Contents gerhard$
 
Hmmm... welche Java Version ist denn Deine Default Version? Guck doch mal mit /Applications/Utilities/Java/Java\ Preferences.app, was dort für Java Applications die Default Version ist. Und was sagt die Konsole, wenn Du "java -version" eingibst?
 
Hi,

also das Terminal sagt:

Code:
mini:~ gerhard$ java -version
java version "1.5.0_16"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16-b06-284)
Java HotSpot(TM) Client VM (build 1.5.0_16-133, mixed mode, sharing)

Und die Java Preference.App

siehe Anhang


Danke!
 

Anhänge

  • java.jpg
    java.jpg
    38 KB · Aufrufe: 55
Zurück
Oben Unten