IzPack:如何使用LicensePanel显示UTF-8许可证?

时间:2013-01-18 17:02:04

标签: izpack

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

有解决方法吗?

更新

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

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

它不起作用。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

看起来这不起作用。我查看了4.3.5的源代码,看起来这可能是一个bug。也许它是在未来版本中修复的。我查看了源代码,这就是问题所在。在LicencePanel.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,我认为问题也出现了。 (没有测试只是看了一下代码)。