在开发中遇到不同系统的换行符引发的问题
场景:开发的项目中有配置文件 config.properties ,本地运行项目读取配置文件中的内容,打包放到docker容器中启动运行报错,报错原因是读取到的配置文件的内容为null,
分析:检查代码确认没有任何问题,仔细分析后猜测可能是换行符的关系,在windos开发环境中编辑配置文件换行符是 CRLF,而服务器上的换行符是LF,这可能是导致读取不到配置的问题
解决方案:
将配置文件的换行符使用编辑器将CRLF改成LF
这里提供一种方式:
可以使用Notepad打开文件点击“编辑”-“档案格式转换”-“转换为你需要的格式”
特此记录一下,便于后续查看
在windows中,用/r/n作为另起一行的标识,即CRLF
在unix系统中,用/r,即CR
在mac系统中,用/n,即LF