2016-12-29 50 views
0

我正在使用Spring引導罐,我在我的結構中有嵌套罐。 我想從類文件中讀取原始字節。我想從以下URL獲得InputStream如何從嵌套jar的類中獲取InputStream?

「jar:file:/ D:/work/dev/target/first.jar!/BOOT-INF/lib/second.jar!/ a/b/c/Data.class」

我已經試過

InputStream i = new URL(str).openStream(); 

但這不起作用(FileNotFoundException異常)。 我不想使用spring-boot的API。由於該URL看起來相當標準,我希望應該有一種方法來實現這一點。

+0

在運行時從那裏你嘗試加載的ressource?您給人的印象是想從外部訪問彈簧靴罐。 – davidxxx

+0

感謝您的評論。我想在first.jar中實現此目的。這是運行時。我也偶然可以訪問上面提到的URL。就目前而言,getResourceAsStream完成這項工作。 – Icarus3

回答

1

在classpath中是否是「second.jar」?

如果是,請使用Classloader.getResourceAsStream()

例如:

Thread.currentThread().getContextClassLoader().getResourceAsStream("a/b/c/Data.class")