Java .MissingResourceException:Can';找不到基名称的捆绑包

Java .MissingResourceException:Can';找不到基名称的捆绑包,java,maven,resourcebundle,Java,Maven,Resourcebundle,我正在使用名为jnca的库来捕获从路由器发送的netflow udp数据包 当它被导入到IntellijIDea的新项目中时,它就可以工作了 打赌当它在maven项目中使用时,它不起作用,并给出这个异常 例外情况: java.util.MissingResourceException: Can't find bundle for base name org.wso2.event.adaptor.udp.jnca.etc.NetFlow, locale en_US at java.util

我正在使用名为jnca的库来捕获从路由器发送的netflow udp数据包

当它被导入到IntellijIDea的新项目中时,它就可以工作了

打赌当它在maven项目中使用时,它不起作用,并给出这个异常

例外情况:

java.util.MissingResourceException: Can't find bundle for base name org.wso2.event.adaptor.udp.jnca.etc.NetFlow, locale en_US
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1499)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1322)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:795)
at org.wso2.event.adaptor.udp.jnca.cai.utils.Resources.<init>(Resources.java:24)
at org.wso2.event.adaptor.udp.jnca.cai.flow.collector.Collector.<clinit>(Collector.java:51)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:190)
at org.wso2.event.adaptor.udp.jnca.cai.flow.collector.Run.<clinit>(Run.java:14)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:190)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:113)
NetFlow.properties: Can't find bundle for base name org.wso2.event.adaptor.udp.jnca.etc.NetFlow, locale en_US
myName=Netflow

我已尝试更改资源的路径,但无效。 试图将netflow.properties文件包含在maven项目的resources文件夹中,但也没有成功

如何解决这个问题


谢谢

将.properties文件复制到根目录下的resources文件夹中(不在包内) 然后在代码中,当您想要访问这些.properties文件时,不要提及任何包名。只需输入.properties文件的名称就足够了。 像这样:

 resources = ResourceBundle.getBundle(myName, Locale.getDefault());

使用Maven时,属性文件应该位于src/main/resources中,而不是src/main/java中(请参阅)

例如,如果在faces-config.xml中有以下定义(用于在facelet页面中使用msgs变量):

然后,PanneUprincipal_en.properties文件应位于以下目录中:

    src/main/resources/i18n

谢谢你回答这个问题。将包移动到src/main/resources修复了我遇到的相同问题。这应该是这个问题的公认答案。哈哈,我已经做了很多次了,我都快发疯了,因为这次不行了。我无意中在“java”文件夹中创建了“resources”文件夹。向上投票
    <resource-bundle>
        <base-name>i18n.PanneauPrincipal</base-name>
        <var>msgs</var>
    </resource-bundle>
    ResourceBundle bundle = ResourceBundle.getBundle("i18n.PanneauPrincipal", locale);
    src/main/resources/i18n