2013-10-30 75 views
0

我需要在系統屬性GWT如何設置gwt.imageResource.maxBundleSize? (或系統屬性對整數)

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" />

但讓我;

[ERROR]無效的屬性值 '1000'

事實上,在這錯誤的任何數值的結果。它接受的唯一的東西是以字母開頭的字符串.....但是這顯然無用,因爲Google代碼是;

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

所以我難住我該如何設置這個屬性。

回答

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

您正在此處創建一個新的屬性,而不是將值分配給現有屬性。我不知道錯誤發生的原因,但請放心,即使錯誤沒有發生,您仍然不會設置您嘗試設置的值。因爲...

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

該代碼不會從您的gwt.xml文件中讀取。從的Javadoc Integer.getInteger

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

根據這一點,當你運行編譯器(或開發模式),您應該設置一個系統屬性。將此添加到JVM參數可能看起來像這樣:

-Dgwt.imageResource.maxBundleSize=1000 
+0

謝謝,這似乎已經做到了。 我花了一段時間才發現它必須進入「VM Arguments」對話框,而不是Eclipse中的「Compiler Arguments」對話框。但之後,它的工作。 雖然用於設置編譯選項的不同方法有點混淆。 – darkflame

相關問題