2010-01-05 3 views
3

У меня есть большой проект, который я компилирую с помощью GWT. Во время этого процесса GWT генерирует некоторые файлы кеша в C:\Documents and Settings\[UserDir]\Local Settings\Temp\. Например:Можно ли настроить GWT для создания файлов кеша в другом месте, кроме домашней папки пользователя?

gwt60627byte-cache (86,321 KB) 
gwt60628byte-cache (4,445 KB) 
gwt60629byte-cache (53,773 KB) 
gwt60696byte-cache (8,111 KB) 
gwt60697byte-cache (572,777 KB) 

Я знаю, что производительность GWT является не так уж велика, и есть не так много вещей, чтобы сделать его ускорить, но мой проект находится на диске D: что быстрее, чем C :, так Я хочу переместить эти файлы кеша на один диск.

Но это не основная причина. Я также обеспокоен размером этих файлов, о которых сообщается на свободное место, которое я оставил на C: (чего не так много). Я пока не собираюсь выполнять полную компиляцию проекта, но когда я это делаю, я не думаю, что HDD справится с этим.

Как я могу создать эти файлы кеша в другом месте?

спасибо.

+0

Просто измените переменную среды 'TEMP'? –

ответ

3

Компилятор GWT имеет параметр -workDir, который по умолчанию относится к системной директории temp. Вы можете изменить это, чтобы файлы кэша записывались где-то в другом месте.

+0

Это решение «по книге». Кроме того, обходной путь, который хорошо зарекомендовал себя для моей установки, заключался в изменении переменной среды TEMP, как предложил Мирко Насато в своем комментарии. –

+0

В Windows 7 мне пришлось изменить переменную среды TMP для достижения этой цели, а не переменной TEMP. –

10

Параметр -workDir в компиляторе GWT управляет только местом, где генерируются файлы «gwt-unitCache- *».

Чтобы изменить место, где создаются другие временные файлы GWT (в основном, файлы «gwt * byte-cache», «uiBinder *» и «ImageResourceGenerator * .png»), единственным вариантом является изменение значения "java.io.tmpdir" свойство системы Java через командную строку (например, "-Djava.io.tmpdir =/path/to/custom/temp/directory".

При использовании Maven вы можете объявить это свойство в <extraJvmArgs> элемент секции < конфигурации> для GWT-Maven-плагин, в пределах < плагинов > или <pluginManagement> раздела, аналогичным образом:

.../...

<pluginManagement> 
    <plugins> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>gwt-maven-plugin</artifactId> 
      <version>${gwt.maven.plugin.version}</version> 
      <configuration> 
      <extraJvmArgs>-Djava.io.tmpdir=${project.build.directory}</extraJvmArgs> 
      </configuration> 
     </plugin> 
    </plugins> 
</pluginManagement> 

.../... 

В этом примере временные файлы GWT будут генерироваться в $ {project.build.directory}, то есть «цель "каталог компилируемого проекта GWT.

<extraJvmArgs> также является местом, где вы определяете любые параметры памяти JVM, которые будут использоваться компилятором GWT, например, «-Xmx1024m».

+0

с Eclipse Kepler и GWT 2.5.1, чтобы перейти к настройкам eclipse> java> установленным JRE> Edit> Default VM args' и установить его для '-Djava.io.tmpdir = E:/tmp' тоже для меня – vinnyjames

Смежные вопросы