检查文件路径和位置
文件未被打包
使用 Maven,资源文件应放在 src/main/resources 目录下。
文件路径需严格匹配:
src/main/resources/template/template.pdf
mvn clean
mvn compile编译后检查 target/classes(Maven)中是否存在该文件。
检查pom.xml,不确定可以吧includes标签注释掉
<build>
<!-- 添加资源 -->
<resources>
<resource>
<directory>src/main/resources</directory>
<!-- src/main/resources下的指定资源放行 -->
<includes>
<include>**/*.properties</include>
<include>**/*.yml</include>
<include>**/*.xml</include>
<include>**/*.pdf</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>验证文件是否被打包
如果项目打包为 JAR,解压后检查文件是否存在于 template/ 目录下:
jar tf your-app.jar | grep "template.pdf"
使用正确的类加载器
可能问题:
某些环境下(如 Web 容器或模块化应用),getClass().getResourceAsStream() 可能无法正确加载资源。
解决方案:
尝试改用 ClassLoader 直接加载资源:
InputStream inputStream = YourClass.class.getClassLoader()
.getResourceAsStream("template/template.pdf");注意:此处路径不需要 开头的/,因为 ClassLoader 默认从 classpath 根目录开始查找。
如果这篇文章对你有用,可以关注本人微信公众号获取更多ヽ(^ω^)ノ ~

















