我正在开发一个必须本地化的 Swing 应用程序。
为此,我使用了 resourceBundle
。当我从 IDE 运行应用程序时它工作正常。但是当我使用 maven
生成 jar 时,应用程序正常启动但国际化停止工作。在不抛出任何异常的情况下,我做了很多变体来解决这个问题;我什至创建了一个继承自 java.util.ResourceBundle.Control
的类。我唯一让它工作的方法是将属性文件放在包外(我把它放在桌面上只是为了测试)。然后我尝试通过指定路径 by new File(".").getAbsolutePath()
来使用相同的方法。
这样做仍然无法从 Eclipse 运行它,但是当我尝试生成 jar 并执行它时,它会抛出异常并且应用程序不会启动。
最佳答案
如果您将属性文件放在 Java 代码旁边的 src/main/java
中,Maven 可能不会拾取它。
规范位置将是 src/main/resources
(下面的包结构被复制,就像它现在在您的代码中一样)。
关于Java SE Maven 项目使用 ResourceBundle 进行国际化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18753716/