每个Jar规范清单编码必须是UTF-8。在某些情况下(如合并),蚂蚁的jar任务产生的清单被破坏,特殊字符将被双重编码。
原始清单(utf-8):
...
Application-Name: spécial
...蚂蚁的jar任务处理后的最终清单(utf-8):
...
Application-Name: spécial
...发布于 2013-12-27 10:19:58
能够处理文件集的Jar任务允许开发人员指定原始清单字符编码。
不幸的是,虽然强制(最终)编码是utf-8,但ant的jar任务中并没有默认的内容,而最初的清单处理依赖于平台默认.Windows-1252在我的例子中,原始清单(来自另一个jar)真正在utf-8中
解决方案:在任务属性中指定编码
<jar destfile="final.jar" filesetmanifest="merge" manifestencoding="UTF-8">
<zipfileset src="original.jar">
[...]
</zipfileset>
</jar>发布于 2016-02-05 12:32:17
我刚为NetBeans找到了关于这个的旧的NetBeans。
作为一种解决办法,我在build-inex.xml中将manifestEncoding="${source.encoding}“属性添加到copylibs标记中。
https://stackoverflow.com/questions/20798881
复制相似问题