GWT如何设置gwt.imageResource.maxBundleSize? (或任何系统属性为整数)

时间:2013-10-30 23:53:56

标签: gwt clientbundle

我需要更改系统属性

gwt.imageResource.maxBundleSize

到1000。 我该怎么做?

这个属性存在,就像我在这里看到的那样; https://code.google.com/p/google-web-toolkit/source/browse/releases/2.5/user/src/com/google/gwt/resources/rg/ImageBundleBuilder.java#471

但我无法弄清楚如何在GWT.XML中设置它:

<set-property name="gwt.imageResource.maxBundleSize" value="1000" />

结果;

[错误]未找到属性'gwt.imageResource.maxBundleSize'

所以我尝试创建属性;

<define-property name="gwt.imageResource.maxBundleSize" values="1000" />

但这让我感动;

[错误]无效的属性值'1000'

实际上,任何数值都会导致此错误。它接受的唯一东西是以字母开头的字符串.....但这显然没有谷歌代码那么无用;

private static final int IMAGE_MAX_SIZE = Integer.getInteger(
  "gwt.imageResource.maxBundleSize", 256);

所以我很难说我应该如何设置这个属性。

1 个答案:

答案 0 :(得分:1)

<define-property name="gwt.imageResource.maxBundleSize" values="1000" />

您在此处创建新属性,而不是为现有属性分配值。我不知道为什么会发生错误,但请放心,即使错误没有发生,你仍然没有设置你想要设置的值。因为...

private static final int IMAGE_MAX_SIZE = Integer.getInteger(
   "gwt.imageResource.maxBundleSize", 256);

该代码无法从您的gwt.xml文件中读取。来自Integer.getInteger的javadoc:

/**
 * Determines the integer value of the system property with the
 * specified name.

根据这一点,您应该在运行编译器(或开发模式)时设置系统属性。将其添加到JVM args可能如下所示:

-Dgwt.imageResource.maxBundleSize=1000