簡體   English   中英

如何在 spring 引導中使用 yaml 文件從 jar 訪問文本文件?

[英]how to access text file from a jar using yaml file in spring boot?

我們有一個 maven 項目,它在 src/main/resource 文件夾下只有 yaml 文件和相關文本文件。 我們將其打包為 Jar 文件。 結構如下:

src\main\resource
application-configone.yml
application-configtwo.yml
license.txt 

application-configone.yml 文件包含 license.txt 文件的條目

license
 path: src\main\resource\license.txt

現在我們在另一個 web 應用程序中導入這個 Jar 工件。 在 web 應用程序 yml 文件中,我們將 yml 文件從 Jar 導入為

spring.active.profile = configone, configtwo

我們遇到的問題是 web 應用程序無法啟動,因為它無法讀取/獲取 application-configone 文件中定義的 license.txt 文件。

我們如何在 web 應用程序中讀取/訪問打包在 jar 中的 license.txt 文件

最簡單的方法是將文件放在資源目錄下。 在讀取的項目中,創建一個

appContext=new ClassPathXmlApplicationContext()

並使用它來訪問文件。 使用資源文件夾中的相對路徑(在您的示例中,您使用最后沒有 s 的資源,maven 默認是資源)。 無論如何,您都可以獲得類路徑上的任何文件。

res = appContext.getResource("classpath:licence.txt")

它將返回資源 object。 您現在可以根據需要使用它的 inputStream 。

查看包含資源(appconfs 和 txt)的 jar 內部,因此您可以確定它已正確構建,並且文件已復制到類路徑中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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