代码之家  ›  专栏  ›  技术社区  ›  Shane Castle

找不到基名称的包

  •  24
  • Shane Castle  · 技术社区  · 16 年前

    我使用的库依赖于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文件,但没有成功。我已经查过了,还是不走。

    有什么想法吗?

    4 回复  |  直到 8 年前
        1
  •  34
  •   BalusC    16 年前
    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

    也看到 Sun's own tutorial about resourcebundles 更多信息。

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

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

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

    或者,可以将类路径指定为 class-path JAR清单文件中的条目。您可以在其中使用相对于JAR文件本身的相对路径。做 使用 %CLASSPATH% 环境变量,它是 忽略 通过jar和其他所有不能执行的 java.exe 没有 -CP ,请 -classpath -jar 争论。

        2
  •  2
  •   trashgod    15 年前

    俾路支是对的。版本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
    
        3
  •  1
  •   mmdreza baqalpour    8 年前

    如果您使用IntellijIDE,只需右键单击资源包并转到“新建”,然后选择“资源边界”,它将自动为您创建.properties文件。这确实对我有用。

        4
  •  0
  •   Sirko    12 年前

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

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

    用这种方式:

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

    命名约定和内容:

    http://192.9.162.55/developer/technicalArticles/Intl/ResourceBundles/
    
    推荐文章