2

如题。我的许可证文件包含 UTF-8 字符,默认情况下,IzPack 的 LicensePanel 似乎需要 ASCII 文本文件。

有针对这个的解决方法吗?

更新:

我尝试在资源行中使用“编码”属性:

<res id="LicencePanel.licence" src="Licence.txt" encoding="utf-8"/>

它没有用。

4

2 回答 2

0

看起来这行不通。我查看了 4.3.5 的源代码,看起来这可能是一个错误。也许它会在未来的版本中得到修复。我查看了源代码,这就是问题所在。在 LicensePanel.java 内部:

        String resNamePrifix = "LicencePanel.licence";
        licence = ResourceManager.getInstance().getTextResource(resNamePrifix);

ResourceManager 有两个方法:

  • public String getTextResource(String resource, String encoding) throws ResourceNotFoundException, IOException
  • public String getTextResource(String resource) throws ResourceNotFoundException, IOException

第一个第二个正在使用,而第一个应该使用。

编辑:刚刚检查了 5.0.0-rc1 ,我认为问题也发生在那里。(没测试只是看了一眼代码)。

于 2013-11-28T16:05:46.043 回答
0

我的 LicencePanel.licence 资源也有类似的问题。我的安装中也有一个 InfoPanel.Info 资源。我的信息文件 (readme.txt) 和许可证 (licence.txt) 都是纯文本格式。当我运行安装时,我的编译器接受自述文件,但不接受许可文件。

也许这不是编码问题,因为两个文件的格式相同,但信息文件被接受而许可证未被接受。

于 2013-07-25T17:18:23.233 回答