this.getClass().getResourceAsStream(““)读取为null(jar包运行无法读取文件)

  1. 【背景】:公司前两天版本测试遇到的一个问题,需要批量动态生成PDF文件,于是我将PDF模板文件放在了resources下面,通过File file = new File("/文件路径")的方式读取,本地测试和一个测试环境部署都没有问题,但是另一个测试环境出现问题,一直报500,错误日志也没有显示到PDF模板读取这里,于是定位了好久,终于找到这个问题;

  2. 【解决方案】:查了一下发现,以jar包形式运行的时候不能用File file = new File("/文件路径")的方式读取,可能会读取不到,需要换成this.getClass().getResourceAsStream("/template.pdf");这种法式读取;

  3. 【新的问题】:用上面方式还是没有读取到文件,于是我将打的jar包进行反编译,发现我的template.pdf文件压根没有打包进去,于是去pom.xml做打包配置;

    <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.xml</include>
                <include>**/*.properties</include>
                <include>**/*.yml</include>
                <include>**/*.pdf</include>
            </includes>
            <filtering>false</filtering>
        </resource>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>**/*.xml</include>
                <include>**/*.properties</include>
                <include>**/*.yml</include>
                <include>**/*.pdf</include>
            </includes>
            <filtering>false</filtering>
        </resource>
    </resources>
    
  4. 再次打包,发现问题解决咯!!!bye!!!

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mayz梅子子子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值