基于Ant构建的Java应用运行时ResourceBundle加载异常求助
问题解决方案
核心问题:资源包BaseName使用了错误的路径分隔符
异常中的IllegalName: nttcad/nttcad/resources/RB明确指出问题:ResourceBundle.getBundle()要求BaseName用**点.**作为包层级分隔符,而非斜杠/。当前RB类中传入的路径格式错误,需修改为:s_rb = new RBObject("nttcad.nttcad.resources.RB");验证资源包的打包完整性
确认RB.properties和RB_it.properties已被正确打包进nttcad.jar的对应目录。可通过以下命令检查:jar tf nttcad/nttcad.jar | grep RB.properties正常输出应包含
nttcad/nttcad/resources/RB.properties和nttcad/nttcad/resources/RB_it.properties。JDK版本兼容性适配
用JDK19运行Java6代码可能存在跨版本类加载差异,建议:- 启动时添加参数:
/opt/jdk-19/bin/java --add-modules java.base -jar cad.jar - 若仍有异常,尝试切换到Java6或Java8版本的JDK运行,避免高版本JDK的兼容性限制
- 启动时添加参数:
内容的提问来源于stack exchange,提问作者nttcad
相关产品推荐
相关产品推荐

