Java 属性配置和属性资源绑定在windows和linux上的行为不同

Java 属性配置和属性资源绑定在windows和linux上的行为不同,java,linux,windows,resourcebundle,Java,Linux,Windows,Resourcebundle,我们有一个使用.properties存储语言翻译的应用程序。我们尝试使用PropertyResourceBundle和PropertiesConfiguration(独立)访问它们。在本地机器(windows)上,它可以正常工作,但是当我们将代码提交到存储库并在Linux机器上使用jenkins运行构建时,它的工作方式就不同了。发生的情况如下: Java版本:JDK_1_7_u21 Windows 8.1: 房地产资源绑定: 使用getString()获取字符串。正确返回整个字符串 属性配置:

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

Java版本:JDK_1_7_u21

Windows 8.1:

房地产资源绑定: 使用getString()获取字符串。正确返回整个字符串

属性配置: 使用getStringArray()返回由逗号分割的字符串

Linux Ubuntu,内核3.5.0-31-generic:

房地产资源绑定: 使用getString()获取字符串。如果字符串中存在逗号,则仅返回最后一个逗号后的文本。否则会正常工作

例如:

字符串:123456

返回:“456”

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

例如:

字符串:123456

返回:[“123456”、“123456”]


任何人都知道这可能是什么原因,以及如何解决这一问题,从而使实现在两种环境中都能正常工作?

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