2023年7月Java开发问题记录
一、无法获取propertis中的key
问题描述:
在开发过程中发现,Centos的Tweb的测试环境中,无法通过以下方式来获取propertis配置文件中的key。
1 | ResourceBundle.getBundle("propertis文件名", Locale.getDefault()).getString(key); |
抛出异常:
1 | java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key xxx |
通过网络搜索,大多数开发者是因为一下几点原因:
- propertis中未配置key为”xxx”的配置信息
- propertis文件路径填写错误
问题原因:
原因是代码和Jar包的重复引用。
本次项目中,项目中的一个模块将源代码直接放入了项目,但是这个这个模块的Jar被其他的Jar进行了引用,在测试环境中,可能因为Tweb的加载机制,导致了老Jar包覆盖掉了新代码中的配置文件,导致propertis文件中并不存在key为”xxx”的配置项。
问题解决:
将pom中引用了该模块Jar包的依赖进行排除操作。
二、Java程序解压zip包出现权限不足的问题
问题描述:
在发开中,需要在程序启动时解压zip包中的缓存,以支持程序的运行。日志中发现了下列中的异常抛出。
1 | net.lingala.zip4j.exception.ZipException:Could not create directory:/x/xx/xxx |
排查过程中,确认了存放zip包的目录权限充足,解压目录为同一目录。但是解压后,x目录就会出现没有读写权限的情况。
问题原因:
经过排查发现,使用360压缩打包出的zip解压会导致权限不足,无法进行解压。
问题解决:
建议使用Windows自带的zip打包(右键—属性—发送—压缩(zipped)文件夹)或者使用bandizip等其他打包工具。
暂时未发现任何造成此问题的原因,通过网络搜素并未找到相关错误信息。