我有一个大型项目,我正在使用GWT进行编译。在此过程中,GWT会在C:\Documents and Settings\[UserDir]\Local Settings\Temp\
中生成一些缓存文件。例如:
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上的自由空间:(这并不多)。我还没有完成一个完整的项目编译,但是当我这样做时,我不认为硬盘会处理它。
如何在其他位置生成这些缓存文件?
谢谢。
答案 0 :(得分:11)
GWT编译器中的-workDir选项仅控制生成“gwt-unitCache- *”文件的位置。
要更改生成其他GWT临时文件的位置(主要是“gwt * byte-cache”,“uiBinder *”和“ImageResourceGenerator * .png”文件),唯一的选择是更改其值“java.io.tmpdir”Java系统属性通过命令行(例如“-Djava.io.tmpdir = / path / to / custom / temp / directory”。
如果使用Maven,您可以在< extraJvmArgs>中声明此属性。 < configuration>的元素gwt-maven-plugin的部分,在< plugins>中或者< 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项目的“目标”目录。
&lt; extraJvmArgs&gt;也是您定义GWT编译器使用的任何JVM内存设置的地方,例如“-Xmx1024m”。
答案 1 :(得分:3)
GWT编译器有一个-workDir选项,默认为系统临时目录。您可以更改它以将缓存文件写入其他位置。