2013-08-25 11 views
10

GWT 2.5.1GWT DEVMODE zapełniać tmp

Anytime działa GWT DevMode generuje nowy ogromny plik cache pod /tmp katalogu teraz, co za tym idzie OS ostrzega low disk space. Jednak ten problem nigdy nie pojawił się w przeszłości.

Plik gwtXXXbyte-cache (XXX będący długą liczbą losową) to prawie 1 GB big. Jest to normalne?

Plik pamięci podręcznej jest czyszczony automatycznie po zakończeniu sesji DevMode. BTW, ponowne uruchomienie komputera nie pomaga.

@EDIT

W porównaniu powyżej, bieganie GWT starter application na DevMode generuje nowy plik cache o 50 MB size. Czy to też jest zbyt duże?

@EDIT 2

ja zmodyfikowaliśmy GWT UI releated kod źródłowy i pobiegł DevMode ponownie. Później, nowy ogromny plik pamięci podręcznej gwtYYYbyte-cache (YYY to kolejna długa liczba losowa) został wygenerowany z same size jak poprzednio - dokładna liczba bajtów. Jakieś pomysły?

@EDIT 3

Po ręcznym usunięciu ./gwt-unitCache, ./war/WEB-INF/deploy i ./war/ZZZ katalogu (ZZZ będącego gospodarzem aplikacji GWT na DevMode), następny DevMode sesja generuje plik /tmp/gwtXXXbyte-cache kurczy się a few KB.

@EDIT 4

Uruchomienie DevMode z opcją -workDir DDD (DDD jest inny katalog zapisu) nie działa. Umieszczone w pamięci podręcznej sztaby piszą do domyślnego katalogu /tmp.

+1

I m używając GWT 2.5.0 i otrzymuję plik unitcache o wartości 55,9 MB dla aplikacji startowej GWT. – Vjeetje

+1

From http://stackoverflow.com/questions/8973511/what-is-the-gwt-byte-cache-file: "Patrząc na kod źródłowy gwt, mówi się, że jest to" Globalny współużytkowany bufor dysku ", używany przez linker (com.google.gwt.core.ext.linker package) i kompilator (com.google.gwt.dev.javac package). " – Vjeetje

+0

Widzę to cały czas na maszynie programistycznej Windows 7 za pomocą Eclipse. Okresowo po prostu spłukuję wszystko w C: \ Users \ myname \ AppData \ Local \ Temp - może to być 10s GB. – fred02138

Odpowiedz

4

1 GB to za dużo dla celów programistycznych. Mogę sobie tylko wyobrazić, że w pliku .gwt.xml ustawiono wiele permutacji permutacji. Powinieneś zmniejszyć liczbę permutacji podczas rozwoju do minimum (uwzględnij tylko specyfikacje, których używasz). Aby zlokalizować problem, można użyć funkcji DevGuideCompileReport.

Edit:

wspólny problem została zgłoszona przez innych użytkowników. Ma to związek z wtyczką eclipse, która nie usuwa poprawnie plików tymczasowych. Problem został zgłoszony i był bardzo uważny wśród użytkowników GWT, ale nie opublikowano żadnej konkretnej poprawki.Do obejścia były ręcznie usunąć pliki lub napisać skrypt do pracy dla Ciebie:

google-plugin-for-eclipse-issue74

+0

Nie, jest to proces 'DevMode', permutacje statycznego kompilowania źródła java na javascript nie są jeszcze zaangażowane. – sof

+0

Mój problem nie jest taki sam, tj. Każda nowa sesja "DevMode" generuje ogromny sam plik pamięci podręcznej, który nie jest kumulowany przez jeden po drugim. Koniec każdej sesji 'DevMode' czyści plik pamięci podręcznej' automatycznie'. – sof

+0

Mam ten sam problem, ale używam Gradle i IntelliJ, więc nie może to być tak proste, jak problem z wtyczką Zaćmienie. –

1

Oto skrypt okna wsadowego posprzątać po GWT:

@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