簡體   English   中英

Gradle子項目無法訪問自己的資源

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM