spring-boot项目直接读取jar包内文件的最简单方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring-boot项目直接读取jar包内文件的最简单方法相关的知识,希望对你有一定的参考价值。

参考技术A 假设有一个jar包,里面有一个test.txt,里面有一行字符串 123abc ,现在要在一个以jar命令运行的spring-boot项目环境中读取,要怎么做?

假设把这个jar包,一个放到D盘的test目录下,一个放到spring-boot项目resources目录下的lib子目录里,可以使用以下两种方法分别读取:

使用mvn clean package打包项目,然后使用java -jar xxx.jar执行该项目文件,观察日志文件就会发现,两种方式都成功了:

替换jar包内指定的文件

 

用Java jar 工具来替换。

① jar uvf test.jar test.class

把test.class 直接添加到jar包的根目录,也就是替换到根目录文件。

②jar uvf test.jar com/test/test.class 

替换相应目录的class文件。

这里值得注意的是  test.class 必须放在com/test 文件下,要和jar的路径对应起来,否则会提示“没有这个文件或目录”。

【jar 包 和 com 文件夹的上级在同一个目录】

③ 解压jar 文件到指定目录:unzip pis-api-1.0-SNAPSHOT.jar -d jar

以上是关于spring-boot项目直接读取jar包内文件的最简单方法的主要内容,如果未能解决你的问题,请参考以下文章

springboot项目以jar包运行时,读取jar包内的静态文件

spring项目jar包内的配置文件和项目的配置文件有重复项

Jar包内调用包内资源文件

替换jar包内指定的文件

如何读取jar包外的properties文件和log4j.properties

spring boot 使用maven打包删除配置文件