[英]Accessing report inside a .jar file
各位,正如標題所暗示的。 當我清理程序並將其構建為要部署的jar文件時,無法訪問報告。 我嘗試在互聯網上瀏覽以尋求可能的解決方案,但是沒有一個能解決問題。 所以下面是我嘗試訪問jar文件中的報告的操作:
URL reportURL = getClass().getClassLoader().getResource("assessmentrecordsystem\\reports\\report1.jrxml");//returns nothing
reportInputStream = this.getClass().getClassLoader().getResourceAsStream("\\reports\\report1.jrxml");//all so returns nothing
我錯過了什么??
這是我的jar文件包含的內容:
考慮這樣的結構:
myjar.jar
|__ assessmentrecordsystem
|__ MyClass.class
|__ reports
|__ report1.jrxml
您可以使用getResourceAsStream()從MyClass加載具有相對路徑的資源。
InputStream is = MyClass.class.getResourceAsStream("reports/report1.jrxml");
否則,您需要將以下條目添加到jar內的/META-INF/MANIFEST.MF
文件中:
Class-Path: .
然后,您可以使用getClassLoader()。getResourceAsStream()從jar根目錄加載具有絕對路徑的文件。
InputStream is = MyClass.class.getClassLoader().getResourceAsStream(
"/assessmentrecordsystem/reports/report1.jrxml");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.