# Eure Erfahrungen mit Eclipse?



## Guest (7. Okt 2007)

Hallo,

ich verwende die JEE Distribution (Europa), so wie sie ist. Langsam platzt mir aber der Kragen mit Eclipse. Ich versuche 
jetzt seit gut zwei Stunden ein einfaches RichFaces Projekt zum Laufen zu bringen und immer wieder stürzt Eclipse aus 
den verrücktesten Gründen ab. 

java.lang.OutOfMemoryError: PermGen space

und ein Absturz ohne Vorwarnung. In der eclipse.ini habe ich folgendes
	
	
	
	





```
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms128m
-Xmx640m
```
Ich habe schon versucht XXMaxPermSize = 512M zu setzen, was eigentlich übertrieben gross ist, trotzdem immer 
wieder Abstürze. Meine güte, es ist ja nur ein simples Web-Projekt mit einer einzigen JSP-Datei, um die Konfiguration von Rich Faces
zu testen. Wo zum Geier geht da so viel Speicher verloren? Ich will gar nicht wissen, was passiert, wenn man ein grosses
Projekt mit zig Seiten und dem ganzen Beckend damit entwickeln möchte.
Andere Absturzursachen kann ich nicht mal aus der Log-Datei ermitteln. Eclipse stürzt einfach ab, wenn ich versuche eine
Web-App zu deployen. Der Server läuft immer noch, kann aber nach dem Absturz nur über den Taskmanager abgeschossen
werden, da von Eclipse aus gestartet und sonst keine Console zu sehen ist.

Das Problem ist nicht das einzige. Immer wieder kommen solche Probleme mit der Entwicklungsumgebung, so dass man
die Hälfte der Zeit damit beschäftigt ist, statt was produktives machen zu können. z.B. die irrsinnig langen Compilierzeiten
bei grösseren Projekten.
Ich denke, mit einem stinknormalen Texteditor und einem Ant-Script auf der Console wäre ich schon drei mal fertig mit
dem Test. das ist aber irgendwie nicht der Sinn der Sache, wenn man später doch die IDE nutzen möchte.
Es geht mir gerade darum, ein Grundgerüst eines Projekts für Rich Faces zu erstellen.

Ohne jetzt eine Diskussion NetBeans gegen Eclipse anfangen zu wollen (oder doch, verdammt), kann man damit arbeiten, ohne
alle zwei Tage Lösungen für irgendwelche Probleme mit der Entwicklungsumgebung zu suchen?
Das ist einfach nur frustrierend, wie besch... Eclipse inzwischen zugemühlt ist.

Läuft bei euch alles rund in Eclipse? Wenn ja, welche Version, woher?


----------



## hupfdule (8. Okt 2007)

Ich arbeite momentan sowohl mit Eclipse, als auch Netbeans. Ich find sie beide scheiße. ;-)
Probleme bezüglich des Speichers kenne ich eigentlich nur von Eclipse. Von daher wäre es vlt. schon mal einen Versuch mit Netbeans für dich wert. 
Aber wie gesagt, glücklich werde ich mit beiden nicht. Werde mich bei Gelegenheit mal mit IntelliJ Idea versuchen. Darüber habe ich bisher ausschließlich Positives gehört.


----------



## byte (8. Okt 2007)

Welchen Server verwendest Du denn? Tomcat? Falls ja: http://wiki.apache.org/tomcat/OutOfMemory


----------



## zordan (8. Okt 2007)

Ich hab meine J2EE Projekte früher unter JDeveloper entwickelt, bin aber nun mit dem Europa Release auch auf Eclipse umgestiegen.
Bisher bin ich sehr zufrieden, obwohl der Konfigurationsaufwand natürlich enorm ist, einbinden der ganzen Bibliotheken, ... Wenn es dann aber erstmal läuft, funktioniert es wunderbar und ist sehr flexibel.
Nutze für Eclipse und den eingebundenen Tomcat jeweils ein seperates JDK für die Runtime.
Eclipse Startoptionen übergeb ich per CMD File, da ich mit den Parametern in der INI immer Probleme hatte.

Hier mal ein Auszug aus der CMD:

```
set JAVA_OPTS=-vmargs -Xms128m -Xmx1024m -XX:MaxPermSize=128m
set JAVA_HOME=D:\eclipse\jdks\eclipse_jdk1.5.0_11
set PATH=%JAVA_HOME%\bin\;%PATH%

cd %ECLIPSE_HOME%

echo %PATH%

start eclipse %JAVA_OPTS%
```

Damit hatte ich bisher keine Probleme und gleiche Konfig läuft bei mehreren Kollegen auch erfolgreich.

Gruß


----------



## Wildcard (8. Okt 2007)

Das ist nicht wirklich ein Eclipse, sondern ein Java Problem.
Derzeit ist der Heap noch in zwei Bereiche aufgeteilt und der PermGenSpace ist für komplexe Anwendungen heute einfach zu klein (dort werden die Klassendefinitionen hinterlegt).
Ein Eclipse mit vielen PlugIns lässt sich ohne Erhöhung der PermGenSize nicht verwenden.
Erzähl mit jetzt aber nicht, das du in Google nichts dergleichen gefunden hast  :wink:


----------



## Guest (9. Okt 2007)

Der Server ist nicht das Problem, der läuft einwandfrei (JBoss 4.2.x)
Ja, ich habe schon nach Lösungen für das Problem gesucht und hunderte von Seite gefunden, wo 
das Problem und mögliche Lösungen beschrieben werden. Weniger frustrierend ist es aber trotzdem 
nicht, dass man überhaupt an der VM rumfummeln muss, um vorhandenen Speicher zuzuweisen.

Das hier scheint seit zwei Tagen stabil zu laufen.  :? 

-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
128m
-vmargs
-Xms160m
-Xmx640m
-XXermSize=64m
-XX:MaxPermSize=128m


Nach dem Start ist der Speicherverbrauch bei ca. 125M (JEE Perspektive), steigt aber beim Start des 
XML-Editors auf ca. 140M, daher -Xms160M. Das Maximum von 640M wird eher nie erreicht, ich öffne 
nicht gerade alle verfügbaren Perspektiven auf einmal.
Da die meisten Plugins erst geladen werden, wenn man sie ausführt, steigt die Anzahl der geladenen
Klassen rapide. Insbesondere wenn man irgendwelche XML-basierten Tools verwendet. Da kommt 
PermSize und MaxPermSize ins Spiel. 
Eine Möglichkeit, den tatsächlich verwendeten Speicher genauer zu untersuchen, habe ich bisher nicht
gefunden. JConsole kann mit der PID von Eclipse nix anfangen.

Es gibt wohl keine einzige andere interpretierte Sprache, in der man sich mit sochem Zeug beschäftigen 
muss. Warum nicht gleich DOS-Extender und Overlays? Ich dachte den Sch... sehe ich nie wieder. :autsch:


----------



## Guest (24. Okt 2007)

Anonymous hat gesagt.:
			
		

> ...
> Das hier scheint seit zwei Tagen stabil zu laufen.  :?
> 
> -showsplash
> ...



Das scheint tasächlich der geeignete Workaround zu sein.

Man kann sich das in JConsole sehr wohl anzeigen lassen :
Es gibt da einen Prozess ohne Namen aber mit PID das ist dann Eclipse.

Da ist dann zu sehen, dass egal was bei --launcher.XXMaxPermSize steht immer nur 64Mb als Maximum für "Perm Gen" verwendet werden und Du kannst zugucken dass Eclipse genau dann abraucht, wenn Balken "Perm Gen" oben anschlägt.

Erst -XX:MaxPermSize=128m erhöt diesen Wert tatsächlich.

Gruß
 Hajo


----------

