2013-08-25 13 views
10

GWT 2.5.1GWT DevMode füllt tmp-Verzeichnis

Immer läuft GWT DevMode erzeugt eine neue große Cache-Datei unter /tmp Verzeichnis jetzt, damit die OS warnt low disk space. Dieses Problem ist jedoch in der Vergangenheit nie aufgetreten. Die Datei gwtXXXbyte-cache (XXX ist eine lange Zufallszahl) ist fast 1 GB big. Es ist normal?

Die Cache-Datei wird automatisch gereinigt, nachdem die DevMode Sitzung beendet. BTW, Neustart der Maschine hilft nicht.

@EDIT

Im Vergleich oben, erzeugt die neue Cache-Datei über 50 MB sizeGWT starter application auf DevMode läuft. Ist es auch Übergröße?

@EDIT 2

I GWT UI releated Quellcode modifed wieder und lief DevMode. Später wurde die neue große Cache-Datei gwtYYYbyte-cache (YYY eine andere lange Zufallszahl ist) wurde mit dem same size erzeugt wie bisher - genaue Anzahl von Bytes. Irgendwelche Ideen?

@EDIT 3

Nach der manuellen Entfernung von ./gwt-unitCache, ./war/WEB-INF/deploy und ./war/ZZZ Verzeichnis (ZZZ auf DevMode der gehosteten GWT-Anwendung ist), wird die nächste DevMode Sitzung generiert die /tmp/gwtXXXbyte-cache Datei zu a few KB schrumpfen.

@EDIT 4

Starten DevMode mit der Option -workDir DDD (DDD ein anderes beschreibbares Verzeichnis ist) funktioniert nicht. Die zwischengespeicherten Mitarbeiter halten auf den Standard /tmp Verzeichnis zu schreiben.

+1

I‘ m mit GWT 2.5.0 und ich bekomme eine Unitcache-Datei von 55.9MB für die GWT Starter App. – Vjeetje

+1

Von http://stackoverflow.com/questions/8973511/what-is-the-gwt-byte-cache-file: "Betrachtet man den gwt-Quellcode, heißt es" Ein globaler gemeinsamer Disk-Cache ", der von einem Linker (com.google.gwt.core.ext.linker-Paket) und Compiler (com.google.gwt.dev.javac-Paket). " – Vjeetje

+0

Ich sehe dies die ganze Zeit auf einem Windows 7-Rechner mit Eclipse. In regelmäßigen Abständen spüle ich einfach alles in C: \ Users \ Meinename \ AppData \ Local \ Temp - es kann 10s GB sein. – fred02138

Antwort

4

1 GB ist zu viel für Entwicklungszwecke. Der einzige Grund, warum ich denken kann, ist, dass man eine Menge Permutationen gesetzt hat in Ihrer .gwt.xml Datei. Sie sollten die Anzahl der Permutationen während der Entwicklung auf ein Minimum reduzieren (enthält nur die Spezifikationen Sie verwenden). Sie können das DevGuideCompileReport verwenden, um das Problem zu lokalisieren.

Edit:

Die verbreitetes Problem wurde von anderen Benutzern gemeldet. Es hat damit zu tun, dass das Eclipse-Plugin die temporären Dateien nicht korrekt löscht. Das Problem wurde gemeldet und hatte große Aufmerksamkeit von GWT-Benutzern, aber es wurde kein konkreter Patch veröffentlicht.Die Abhilfen waren die Dateien manuell löschen oder ein Skript zu schreiben, um die Arbeit für Sie zu tun:

google-plugin-for-eclipse-issue74

+0

Nein, es ist auf dem Prozess der 'DevMode', Permutationen der statisch kompilierenden Java-Quelle zu Javascript sind noch nicht beteiligt. – sof

+0

Das Problem von mir ist nicht dasselbe, d.h. jede neue 'DevMode'-Sitzung erzeugt die riesige Cache-Datei allein, die nicht nacheinander akkumuliert wird. Das Ende jeder 'DevMode'-Sitzung bereinigt die Cache-Datei' automatisch '. – sof

+0

Ich habe dasselbe Problem, aber ich benutze Gradle und IntelliJ, so dass dies nicht so einfach wie ein Problem mit einem Eclipse-Plugin sein kann. –

1

hier ein Windows-Batch-Skript ist nach GWT aufzuräumen:

@ECHO OFF 

ECHO Cleaning ImageResourceGenerator files ... 
IF EXIST "%TEMP%\ImageResourceGenerator*" DEL "%TEMP%\ImageResourceGenerator*" /F /Q 

ECHO Cleaning uiBinder files ... 
IF EXIST "%TEMP%\uiBinder*" DEL "%TEMP%\uiBinder*" /F /Q 

ECHO Cleaning gwt files ... 
IF EXIST "%TEMP%\gwt*" DEL "%TEMP%\gwt*" /F /Q 

ECHO Cleaning gwt directories ... 
FOR /D /R %TEMP% %%x IN (gwt*) DO RMDIR /S /Q "%%x" 

ECHO. 
ECHO Done. 
PAUSE