找不到基本名称的捆绑包

2022-09-01 13:06:33

我正在使用一个依赖于jfreechart(v 1.0.9)的库。

当我尝试运行.jar时,我得到:

java.util.MissingResourceException: Can't find bundle for base name
        org.jfree.chart.LocalizationBundle, locale en_US
    at java.util.ResourceBundle.throwMissingResourceException
        (ResourceBundle.java:1521)
    at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1260)
    at java.util.ResourceBundle.getBundle(ResourceBundle.java:962)

我尝试过创建一个 LocalizationBundle.properties 文件,但该文件没有成功。我已经检查了CLASSPATH,仍然没有去。

有什么想法吗?


答案 1
java.util.MissingResourceException: Can't find bundle for base name
    org.jfree.chart.LocalizationBundle, locale en_US

到目前为止,异常消息详细告知您需要在类路径中具有以下文件之一:

/org/jfree/chart/LocalizationBundle.properties

/org/jfree/chart/LocalizationBundle_en.properties

/org/jfree/chart/LocalizationBundle_en_US.properties

另请参阅有关资源捆绑的官方 Java 教程以获取更多信息。

但是,由于这实际上是第三方托管属性文件,因此不应自行创建一个。它应该已经在JFreeChart JAR文件中可用。因此,请确保在运行时在类路径中可以使用它。还要确保您使用的是正确的版本,属性文件在包树中的位置可能已根据JFreeChart版本进行了更改。

执行 JAR 文件时,可以使用该参数指定类路径。例如:-cp

java -jar -cp c:/path/to/jfreechart.jar yourfile.jar

或者,您可以将类路径指定为 JAR 清单文件中的条目。您可以在其中使用相对于 JAR 文件本身的相对路径。不要使用环境变量,JAR 和其他所有不 、 和 参数即可执行的变量会忽略它。class-path%CLASSPATH%java.exe-cp-classpath-jar


答案 2

如果您使用的是IntelliJ IDE,只需右键单击资源包并转到“新建”,然后选择“资源绑定”,它会自动为您创建一个.properties文件。这对我来说确实有效。


推荐