Java Spring启动时,文件无法读取,启动时使用jar包

Java Spring启动时,文件无法读取,启动时使用jar包,java,spring,spring-boot,filenotfoundexception,Java,Spring,Spring Boot,Filenotfoundexception,Spring启动时,文件无法读取,启动时使用jar包。 当我使用战争的时候,一切都是正常的 这是warmaven pom.xml <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.6</version> <

Spring启动时,文件无法读取,启动时使用jar包。 当我使用战争的时候,一切都是正常的

这是warmaven pom.xml

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.6</version>
    <configuration>
        <nonFilteredFileExtensions>
            <nonFilteredFileExtension>xls</nonFilteredFileExtension>
            <nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
            <nonFilteredFileExtension>p12</nonFilteredFileExtension>
        </nonFilteredFileExtensions>
    </configuration>
</plugin>
错误行75


您必须通过
Class.getResourceAsStream()
访问资源,因为您无法访问打包在jar中的文件:

is = this.getClass().getResourceAsStream(templateFilePath)

如果它与战争一起工作,那只是运气,因为您的servlet/J2EE容器似乎在解压您的战争。。。并非所有的容器都是如此(由于规格的原因,它取决于容器是否会打开战争的包装)。意味着使用不同的容器时,您也会在war中遇到此异常。

您必须通过
Class.getResourceAsStream()
访问资源,因为您无法访问打包在jar中的文件:

is = this.getClass().getResourceAsStream(templateFilePath)

如果它与战争一起工作,那只是运气,因为您的servlet/J2EE容器似乎在解压您的战争。。。并非所有的容器都是如此(由于规格的原因,它取决于容器是否会打开战争的包装)。意味着使用不同的容器,您也会在war中遇到此异常。

请显示完整的pom.xml您可以在
ExeclExportHandler
中共享代码吗?它使用的是一个
文件输入流
,它确实需要一个
输入流
来消除它将读取一个
文件的假设。嗨,安迪·威尔金森,我改变了问题。你试过了吗。getResourceAsStream()?请显示完整的pom.xml你能在
ExecutePortHandler
中共享代码吗?它使用了一个
FileInputStream
文件,而我们确实需要一个
InputStream
来消除它将读取一个
文件的假设你好,安迪·威尔金森,我改变了问题。你试过了吗。getResourceAsStream()?它可以在战争中工作这只是运气,因为使用maven插件(maven resources插件)它与战争一起工作,这只是运气,因为使用maven插件(maven资源插件)
is = this.getClass().getResourceAsStream(templateFilePath)