有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java找不到基名称的捆绑包

我使用的库依赖于jfreechart(V1.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)

我已经尝试创建一个本地化包。属性文件,但这不起作用。我已经检查了类路径,仍然没有通过

有什么想法吗


共 (5) 个答案

  1. # 1 楼答案

    把钥匙放进去。与com处于同一级别的src/文件夹下的属性文件解决了该问题

  2. # 2 楼答案

    当您创建ResourceBundle的初始化时,您也可以这样做

    为了测试和开发,我在\src下创建了一个名为prp的属性文件。财产

    这样做:

    ResourceBundle rb = ResourceBundle.getBundle("prp");
    

    命名约定和内容:

    http://192.9.162.55/developer/technicalArticles/Intl/ResourceBundles/
    
  3. # 3 楼答案

    巴卢斯是对的。版本1.0.13是最新版本,但1.0.9似乎具有所需的捆绑包:

    $ jar tf lib/jfreechart-1.0.9.jar | grep LocalizationBundle.properties 
    org/jfree/chart/LocalizationBundle.properties
    org/jfree/chart/editor/LocalizationBundle.properties
    org/jfree/chart/plot/LocalizationBundle.properties
    
  4. # 4 楼答案

    如果您使用的是IntelliJ IDE,只需右键单击resources包并转到new,然后选择Resource Boundle,它会自动创建一个资源边界。属性文件。这确实对我有用

  5. # 5 楼答案

    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

    另见the official Java tutorial about resourcebundles了解更多信息

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

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

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

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