GWT可以配置为在用户的主文件夹以外的其他位置创建缓存文件吗?

时间:2010-01-05 10:56:19

标签: java gwt caching

我有一个大型项目,我正在使用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上的自由空间:(这并不多)。我还没有完成一个完整的项目编译,但是当我这样做时,我不认为硬盘会处理它。

如何在其他位置生成这些缓存文件?

谢谢。

2 个答案:

答案 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选项,默认为系统临时目录。您可以更改它以将缓存文件写入其他位置。

相关问题