我正在创建一个springboot应用程序,它将被部署为jar。它必须从src / main / resources / static文件夹中加载一个excel文件。
代码如下(ExcelReader.java) -
ClassLoader classLoader = this.getClass().getClassLoader();
InputStream inp = classLoader.getResourceAsStream("./static/datashort.xlsx");
OPCPackage pkg = OPCPackage.open(inp);
XSSFWorkbook wb = new XSSFWorkbook(pkg);
XSSFSheet sheet = wb.getSheet("ZoneSheet");
如果我运行jar但是它在eclipse中完美运行我会得到以下错误 -
java.lang.NullPointerException: in is null
at java.util.zip.ZipInputStream.<init>(ZipInputStream.java:101)
at java.util.zip.ZipInputStream.<init>(ZipInputStream.java:80)
at org.apache.poi.openxml4j.opc.ZipPackage.<init>(ZipPackage.java:89)
at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:273)
at com.excelReader.ExcelReader.loadSheet(ExcelReader.java:44)
我读到maven过滤也在这里发挥作用。我的POM如下 -
<build>
<resources>
<resource>
<directory>src/main/resources/static</directory>
<filtering>false</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
请告知。