0
我使用由java插件提供的標準資源處理來處理包含在最終JAR中的Java資源包。文件結構如下:在Gradle構建的JAR中多次使用不同名稱包含文件
src
└── main
├── java
└── resources
├── com
│ └── example
│ └── lang
│ ├── localization.properties
│ └── localization_en.properties
└── folder-with-unrelated-resources
由於自動資源加載的性質,我需要包括英文文件兩次:作爲標準的英語文件(localization_en.properties
)和基本文件,提供了一個如果找不到更具體的本地化(localization.properties
),則回退。目前,這兩個文件都存在於資源目錄中,即使它們的內容完全相同。
我正在尋找一種讓Gradle複製當前localization_en.properties
並將其與基本名稱一起包含的方式,因此我不需要在資源目錄中有兩個分開的文件。我假設我需要鉤入ProcessResources
任務,但我不知道如何創建localization_en.properties
文件的副本並將其添加到已處理的資源中。
看起來你根本不需要語言/語言環境特定變體。如果兩個文件都相同,只需使用默認文件(localization.properties)即可。添加更多特定變體當且僅當您需要它們時。 – fateddy 2015-02-06 05:52:48
@fateddy不需要兩者,因爲Java的包查找也考慮到了JVM的語言環境。例如。 「localization_de.properties」和「localization.properties」(英文)都存在。 JVM的語言環境是'de_DE',並且請求'en_US'的包。 Java找不到它,但它可以找到與JVM默認語言環境匹配的包,以便在返回到基礎之前使用它。 – thee 2015-02-06 10:16:36