Java SE Maven 项目使用 ResourceBundle 进行国际化

标签 java maven localization

我正在开发一个必须本地化的 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/

相关文章:

maven - Liferay 版本和正确的依赖关系

java - 在哪里放置自定义的第二个 web.xml

java - Struts2操作扩展设置为空时出现404错误

java - 如何从 javascript 调用 struts 1.3 操作

java - Android App Widget 广播不起作用

maven - 无法执行目标 org.apache.maven.plugins :maven-surefire-plugin:2. 12 :test (default-test) on project.

java - Spring Thymeleaf 中枚举的本地化

flutter - 语言更改时强制 localeResolutionCallback

c# - ASP.NET MVC 2 本地化/全局化存储在数据库中?

java - 静态类Object如何在没有引用的情况下创建?