SpringBoot项目jar启动异常BOOT-INF/classes!/config.xml (文件名、目录名或卷标语法不正确.)路径中带有叹号

今天想把项目上服务器测试,第一次mvn打jar包,然后出现了这个错误

SpringBoot项目jar启动异常BOOT-INF/classes!/config.xml (文件名、目录名或卷标语法不正确.)路径中带有叹号_第1张图片

解决思路

这么一看就知道是读取配置文件时候出的错,但是不知道为什么错,上网查了一下,没有一个保准的,没法自己查问题了.

发现有一段代码是上古代码

doc = builder.read(new File(MybatisPlusConfig.class.getResource(configUrl).getFile().replaceAll("%20", " ")));

他使用getResource来读取resources文件夹下的文件,但是这个方法没有办法读取压缩文件里的路径,而jar本质来说是一个压缩包.

解决办法

这就好办了,改读取方法就行了,然后我又找读文件的方法,发现方法有很多,但是都是有限制,要不就win可用linux不能用,要不就是开发时能用部署没用.

这哥们写的很详细
java(包括springboot)读取resources下文件方式

我使用的方法是
Resource resource = new ClassPathResource(configUrl);//   配置路径 /config.xml
InputStream is = resource.getInputStream();

搞定 撒花 又多学个知识点(那个远古代码是我为了省事,直接复制老项目的,都是泪.)

你可能感兴趣的:(java,java,spring,boot,maven,jar,spring)