[英]Gradle subproject cannot access own resources
我有一個多項目Gradle構建,其設置類似於:
A
-- src
-- main
-- java
-- A.java
B
-- src
-- main
-- java
-- B.java
-- resources
-- B.resource
A依賴於B,而B依賴於其自身的資源B.resource。 該應用程序是使用gradle distZip
。 在運行時,由於B被壓縮在.jar文件中,因此B無法訪問其自身的資源。
B用於訪問其資源的命令是:
String res = Thread.currentThread().getContextClassLoader().
getResource("B.resource").getFile();
我了解到Spring Web框架提供了ClassResourceLoader或類似的東西,但是我沒有訪問權限。 當A是應用程序並且B是其依賴項時,B是否可以訪問B.resource?
我在Gradle論壇上找到了解決方案。 與其嘗試將資源作為文件獲取,不如將其作為流獲取並從流中讀出。
B.class.getClassLoader().getResourceAsStream("B.resource");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.