Eclipse langsam/unbrauchbar bei größeren Quelldateien?

peterfarge

Bekanntes Mitglied
Hallo Forum,

ich programmiere selten mit Java. Aktuell konvetiere ich eine .net Komponente nach Java.
Neuerdings ist Eclipse sehr langsam, die Autovervollständigung dauert 20 Sekunden bis sie aufklappt. Wenn ich mit der Maus über eine unterkringelte Zeile fahre, dann friert Eclipse komplett ein und erholt sich nicht mehr, ich muß Eclipse mit dem Taskmanager abschießen. Und ich bekomme Fehler in der IDE angezeigt wie:
Save All Failed
Java heap space
oder
An internal error occurred during: "Requesting Java AST from selection". GC overhead limit exceeded
oder
The 'org.eclipse.jdt.ui.TemplateProposalComputer' proposal computer from the 'org.eclipse.jdt.ui' plug-in did not complete normally. The extension took too long to return...

Aktuelle bearbeite ich ein WSDL SOAP Client namens JSServiceStub.java. Diese Datei ist 3.5 MB groß und wurde mit Axis 2 generiert. Kann es sein das Eclipse bei größeren Quelltextdateien in die Knie geht? Ich hatte diese große Datei schon mehrere Tage ohne Probleme im Projekt, nur heute wo ich anfange die Datei etwas zu bearbeiten kriege ich diese Probleme.
Ich habe schon den alten Workspace Ordner gelöscht und das Projekt in einen neuen Workspace gelegt. Außerdem habe ich Eclipse komplett gelöscht und einmal die 64 Bit Version und einmal die 32 Bit Version auf dem Rechner neu installiert. Ich habe den Java Ordner einmal von jdk1.8.0_25 auf jre1.8.0_25 umgestellt. Das Porblem bleibt weiter bestehen.


Vielen Dank

Peter

Edit: Ich versuche die 3.5 MB Datei zu debuggen. Dort befindet sich nur eine Klasse drin. Bestimmte Funktionen kann ich nicht debuggen, auch wenn ich Haltepukte setze. zB eine Funktion die sich in Zeile 75564 befindet. Wenn ich die Funktion ausschneide und ganz am Anfang der Klasse setze, dann kann ich die Funktion auf einmal debuggen. Also hat Eclipse ein Problem mit großen Klassen?
 
Zuletzt bearbeitet:
Die Eclipse.ini sieht so aus:
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20140603-1326
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx512m

Ich habe die letzten Zeilen auf 1024 MB RAM hochgesetzt. 2GB gehen nicht, weil ich jetzt gerade bei der 32 Bit Eclipse Version hängen geblieben bin.
 
Ich habe die Funktion wieder ans Ende der Datei gepackt. Anstatt dort hinein zu springen springt er irgendwo im Code herum, er arbeitet unsichtbare Codezeilen ab und zeigt ganz andere Codezeilen an. Aber immerhin friert Eclipse jetzt nicht mehr ein und ich bekomme keine Exceptions mehr.
 
eine 3.5MB grosse Source-Datei ist ein klarer Beweis für ein schlechtes Design.

Lagere Teile aus indem du weitere Klassen definierst dann klappts auch mit Eclipse und der Code wird viel einfacher zu warten...

Gruß

Claus
 
Es gab zumindest mal eine Option in Eclipse wo man den Build Prozess auf manuell wie im Visual Studio setzen konnte, diese Option habe ich diesmal nicht aktiviert. Möglicherweise braucht Eclipse Minuten um die 3.5 Klasse zu kompilieren...

Wie Joose bereits angedeutet hat: Die 3.5 MB Klasse wurde generiert. Ich habe mittlerweile herausbekommen das man mit dem -u Schalter die große Klasse in kleine Klassen zerteilen kann. Ärgerlicherweise muß ich jetzt mein Textprojekt nochmal komplett überarbeiten.

Im Großen und Ganzen ist meine Frage beantwortet. Vielen Dank Euch allen 🙂
 

Zurück
Oben