Ant:属性文件任务中的格式错误的\ uxxxx编码

时间:2013-06-11 11:31:29

标签: regex ant encoding

我在下面写了一个我写过的Ant skript的错误。

我已经做了一些谷歌搜索并发现,问题在于包含\ u的字符串,这是因为目录分隔符在Windows下发生的。我将所有这些更改为/但错误仍然存​​在。

我的剧本中肯定没有剩余的\ u字符串。

java.lang.IllegalArgumentException: Malformed \uxxxx encoding.

执行propertyfile任务时发生错误,所以我检查了要更改的文件。另一方面,这包含多个\ u字符串。该文件与ant无关,它是一个borland项目文件(xml),其中包含一行,如[someParameter] = [someValue]。

我只想将[someValue]增加1。

所以我的问题是:

我想要更改的属性文件是否会导致提及错误

如果答案是“是”,

我能做什么,除了使用正则表达式任务(比如查找行,propertyregex-ing值,math + 1值和正则表达式替换值)

4 个答案:

答案 0 :(得分:22)

我知道这个问题是在不久前被问到的,但我在没有答案的情况下偶然发现它,在我找到的另一个网站上{http://www.coderanch.com/t/107014/tools/Malformed-uxxxx-encoding-error)我发现这可能发生在文件目的地而不是“\”时应该使用“/”,因为解析工作原理/希望这会有所帮助。

答案 1 :(得分:3)

使用双反斜杠(“ \\”),例如“ abc \\ user”,它等效于“ abc \ user”,将解决此问题。

答案 2 :(得分:0)

首先,您应该尝试使用调试标志运行ant脚本,以确定导致问题的文件 在Eclipse中,您可以通过转到

来完成此操作
Run > External Tools > External Tools Configurations... > Main 

并将“-d”(不带引号)添加到“Arguments”

然后尝试在Eclipse中编辑文件,因为某些编辑器(例如“Wordpad”)可能会弄乱文件

答案 3 :(得分:0)

实际上,我发现问题是由于local.cfg文件编码引起的。如果我们使用写字板或其他非代码编辑软件创建(编辑)了local.cfg文件,它将更改文件编码。因此,当ant尝试加载本地配置文件时(由于dspace-installer / build.xml文件中的这一行,它期望使用ASCII字符编码的.cfg文件。因此,当它获得UTF编码的文件时,就会引发异常。 解: 删除local.cfg文件,使用诸如Visual Studio代码或其他代码编辑软件再次创建它,然后编辑/编写必要的配置设置。

enter image description here