【发布时间】:2017-04-28 02:46:55
【问题描述】:
我在 IntelliJ 中使用 Maven 练习时遇到了一些问题,不知何故,我的类路径中的资源文件永远不会包含在构建的 JAR 中。
我的模块结构:
src/main/java/com/abc/Main.class
src/main/java/com/abc/Messages.class
src/main/java/com/abc/messages_en.properties the not included resource files.
src/main/java/com/abc/messages_es.properties
src/main/resources/ misc resources
项目构建成功,但是当我运行 JAR 文件时,我会收到如下错误消息。当我解压 JAR 文件时,messages_xx.properties 文件丢失了。
Exception in thread "main" java.util.MissingResourceException: Can't find bundle for base name com.abc.messages, locale en
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1564)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1387)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:845)
at org.jis.Messages.<init>(Messages.java:42)
at org.jis.Main.main(Main.java:205)
我的 pom.xml:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
<configuration>
<includes>
<include>${basedir}/src/main/java/com/abc/*.properties</include>
</includes>
<archive>
<manifest>
<mainClass>com.abc.Main</mainClass>
<addClasspath>true</addClasspath>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
在 SO 上遇到了许多类似的线程,但解决方案似乎不适合我的情况。有什么建议吗?我一直试图弄清楚为什么会发生这种情况一段时间,但还没有找到答案。如果有人能给我一些提示,那就太好了。非常感谢。
【问题讨论】:
-
你检查this answer了吗?有帮助吗?
-
@CrazyCoder 我很想删除我的答案并将这个问题标记为您的链接的副本...
-
@CrazyCoder No. :( src/main/resources/ 中的所有其他资源(图像)都被这 2 个 *.properties 文件替换,程序将无法运行。
-
好吧,添加多个资源目录和模式,以便它们都被处理。
标签: java maven intellij-idea jar localization