PropertiesConfiguration和PropertyResourceBundle在Windows和Linux上的行为有所不同

时间:2014-08-21 09:31:48

标签: java linux windows resourcebundle

我们有一个使用.properties存储语言翻译的应用程序。我们尝试使用PropertyResourceBundle和PropertiesConfiguration(独立)访问它们。在本地机器(Windows)上它可以正常工作,但是当我们将代码提交到存储库并在Linux机器上使用jenkins运行构建时,它的工作方式不同。以下是发生的事情:

Java版本:JDK_1_7_u21。

Windows 8.1:

的PropertyResourceBundle: 使用getString()来获取字符串。正确返回整个字符串。

PropertiesConfiguration: 使用getStringArray()返回用逗号分隔的字符串。

Linux Ubuntu,内核3.5.0-31-通用:

的PropertyResourceBundle: 使用getString()来获取字符串。如果字符串中存在逗号,则仅返回最后一个逗号后面的文本。否则可以正常工作。

E.g:

字符串:123,456

返回:" 456"

PropertiesConfiguration: 如果不存在逗号,则使用getStringArray()正确返回字符串。如果是,则在下一个单元格数组中再次复制文本。

E.g:

字符串:123,456

返回:[" 123,456"," 123,456"]

任何人都知道这可能是什么原因以及如何解决这个问题,以便在两种环境中实现相同?

1 个答案:

答案 0 :(得分:0)

问题是由存储库引起的。它在前一段时间崩溃并破坏了.properties文件。解决这个问题后,问题就消失了。