java打包之后路径找不到_项目打成jar包后获取不到不到resources下的文件

  • Post author:
  • Post category:java


一个项目是分模块开发的,项目A是个工具包,没有第三方依赖,目录如下:

–src

–main

–java

–resources

–db

–sqlite.db

A的一个函数功能就是将A的resources目录下的db/sqlite.db文件拷贝到指定的目录下

InpuStream is = this.getClass().getClassLoader().getResourceAsStream(“/db/sqlite.db”);

Files.copy(is,dirPath);

现有一个SpringBoot项目B,通过maven引入A

B在idea运行时A没有报错

B打包为jar包后,命令行运行A报错

获取到的InputStream为null,Files.copy报NPE

将B打包后的jar解压后,lib目录下的A.jar内是有文件的

这个路径究竟该如何获取?

“db/sqlite.db”和”/db/sqlite.db”都不行

this.getClass().getResourceAsStream(“”);

也都不行

用Guava的Resources工具也不好使,这种难不成写代码一套,打包一套吗?

A 的pom文件如下

src/main/java

**/*.yml

**/*.properties

**/*.xml

**/*.db

false

src/main/resources

**/*.yml

**/*.properties

**/*.xml

**/*.db

false

B 的pom文件如下,由于Parent是自己的项目,没有继承spring-boot-parent-starter,所以B的pom多写了些配置

access\_server

src/main/java

**/*.yml

**/*.properties

**/*.xml

**/*.db

false

src/main/resources

**/*.yml

**/*.properties

**/*.xml

**/*.db

false

org.springframework.boot

spring-boot-maven-plugin

com.gree.hvac.access.AccessApplication

boot

ZIP

true

true

repackage



版权声明:本文为weixin_34175388原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。