[英]How to reference properties files in executable jar AND Eclipse?
我使用兩個屬性文件: log4j.properties
和myapp.properties
。 我想在Eclipse和可執行jar中執行我的應用程序時正確加載它們。
ATM文件存儲在這里:/ /src/configs/*.properties
. /src/configs/*.properties
。 我用我的代碼在這行中引用它們:
config = new PropertiesConfiguration(getClass().getResource("/configs/myapp.properties"));
如果我在Eclipse中執行我的應用程序,這很有用,但是如果我執行(來自eclipse生成的)可執行jar,則會失敗。 我在/META-INF/
創建了一個清單文件,並將此行寫入其中:
Class-Path: .
為了實現,執行jar仍然失敗:-(我在哪里必須放置我的屬性文件,我如何引用它們?
如果我執行jar並且在我的項目中如果我在Eclipse中,它是否也可以在jar之外引用它們? 謝謝!
您嘗試加載屬性文件的方式對我來說很好。 您是否檢查過屬性文件是否實際上是生成的jar文件的一部分?
通常,屬性文件是在不重建jar的情況下部署/修改的,例如環境/外部資源特定的東西,因此它們是分開存儲的。
但是如果您需要將它們保留在內部,請確保(在您的情況下)“configs / myapp.properties”實際上位於JAR的根級別。 只是解開你創建的那個罐子,看看那里有什么。 或者你可以運行:
jar -tvf your.jar | grep myapp.properties
在不解開JAR的情況下查看JAR中的實際路徑。
如果它存在,您可以通過classloader
加載它們,如下所示:
ClassLoader cl = YourClass.class.getClassLoader()
config = new PropertiesConfiguration( cl.getResourceAsStream( "configs/myapp.properties" ) ) );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.