Java 属性配置和属性资源绑定在windows和linux上的行为不同
我们有一个使用.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”]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文件。解决此问题后,问题消失了