簡體   English   中英

找不到基本名稱的包

[英]Can't find bundle for base name

我正在使用依賴於 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,還是不行。

有什么想法嗎?

 java.util.MissingResourceException:找不到基本名稱的包\n     org.jfree.chart.LocalizationBundle,語言環境 en_US

就這一點而言,異常消息詳細說明您需要在類路徑中具有以下任一文件:

/org/jfree/chart/LocalizationBundle.properties

/org/jfree/chart/LocalizationBundle_en.properties

/org/jfree/chart/LocalizationBundle_en_US.properties

另請參閱有關資源的官方 Java 教程以獲取更多信息。

但由於這實際上是一個 3rd 方管理的屬性文件,您不應該自己創建一個。 它應該已經在 J​​FreeChart JAR 文件中可用。 因此,請確保在運行時在類路徑中提供它。 還要確保您使用的是正確的版本,包樹中屬性文件的位置可能會隨 JFreeChart 版本而改變。

執行 JAR 文件時,您可以使用-cp參數來指定類路徑。 例如:

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

或者,您可以將類路徑指定為 JAR 清單文件中的class-path條目。 您可以在其中使用相對於 JAR 文件本身的相對路徑。 不要使用%CLASSPATH%環境變量,它是由JAR的和其他一切未與執行忽略java.exe沒有-cp-classpath-jar參數。

BalusC 是對的。 版本 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

如果您使用的是 IntelliJ IDE,只需右鍵單擊資源包並轉到新建,然后選擇 Resource Boundle,它會自動為您創建一個 .properties 文件。 這對我有用。

將 .properties 文件放在與 com 相同級別的 src/ 文件夾下解決了問題。

當您創建 ResourceBundle 的初始化時,您也可以這樣做。

為了測試和開發,我在 \\src 下創建了一個名為 prp.properties 的屬性文件。

使用這種方式:

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

命名約定和東西:

http://192.9.162.55/developer/technicalArticles/Intl/ResourceBundles/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM