从Springboot jar

时间:2018-06-13 16:11:31

标签: spring-boot apache-poi

我正在创建一个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>

请告知。

0 个答案:

没有答案