我有一個Java程序的外部資源,如下所示:無法定位罐
package com.abc.myproject;
import java.util.*;
class test {
public static void main(String[] args)
{
ResourceBundle rb = ResourceBundle.getBundle("mybundle");
String propertyValue = rb.getString("name");
System.out.println("propertyValue="+propertyValue);
}
}
我已經將該程序位於C:\測試\代碼\ SRC \ COM \ ABC \ MyProject的\測試.java 而且,我已將mybundle.properties保存在C:\ testing \ code文件夾下。
mybundle.properties含有一個行:
name=Mike
當我運行從命令提示,如下所示的程序,它運行完全罰款:
C:\testing\code\src>java -cp .;c:\testing\code com.abc.myproject.test
propertyValue=Mike
現在,我創建Jar文件的xyz。 jar只包含test.class &保存在C:\ testing目錄下的這個Jar & JAR包含的清單如下:
Manifest-Version: 1.0
Created-By: 1.7.0_05 (Oracle Corporation)
Main-Class: com.abc.myproject.test
在同一個目錄C:\測試,我不停地mybundle.properties &然後試圖逃跑罐子下面的命令:
java -cp .;c:\testing -jar xyz.jar
但它無法加載mybundle資源&拋出錯誤:
Exception in thread "main" java.util.MissingResourceException: Can't find bundle
for base name scheduler, locale en_US
at java.util.ResourceBundle.throwMissingResourceException(Unknown Source)
at java.util.ResourceBundle.getBundleImpl(Unknown Source)
at java.util.ResourceBundle.getBundle(Unknown Source)
at com.abc.myproject.test.main(test.java:8)
我必須將mybundle.properties保留在Jar的一邊,因爲我們應該能夠對該文件進行更改,而無需重新部署Jar。
任何人都可以幫我解決這個問題嗎?
謝謝!