0
我們所有的罐子都包含一個特定的文件version.properties
,其中包含來自版本的特定信息。在同一個罐子中訪問屬性文件
當我們從命令行啓動一個罐子(在類路徑上有幾個罐子)時,我們想從獲得version.properties
罐子的相同。更確切地說:我們希望編寫Java代碼,它將調用類文件所在的jar文件中的屬性文件的內容提供給我們。
問題是類路徑上的所有jar包含version.properties
,我們不想讀取類路徑中的第一個,但是從正確的jar中讀取第一個。我們如何實現這一目標?
Java使用包有很好的理由。爲什麼不在適當的包中設置version.properties? –
version.properties位於每個jar的主目錄中 - 這是不能更改的(公司標準) –
您將無法使用類加載器來執行此操作。相反,你必須使用骯髒的技巧來找出類來自哪裏(如果有的話),然後打開一個jar輸入流到該jar並查找version.properties條目,然後閱讀此條目。或者你可以改變公司的標準,使其成爲可用的標準。 –