Maven:Resource插件将配置文件copy到war过程中会修改文件内容问题。
项目中有一个license文件lic.dat在APP启动时都会去读该文件内容确保产品有授权并且在授权时间范围内。
之前lic.bat文件与其他文件一起放在 {project.base}/src/main/resource文件夹中。
因为Maven默认的资源文件夹名称为resources导致需要在idea中手动配置resource为资源文件夹。
并且maven打包(package)时,不会将resource文件夹中的内容copy到war包中。
项目的pom配置(注意这个<filtering>true</filtering>)
<resources>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
因为resource文件名的问题,这个就是完全没起到作用的配置。
为了解决这个问题修改了文件夹名称 resource -> resources.
之后,虽然配置文件随maven package命令打到了war包中,启动程序读license.dat文件时频繁报ZipException("Not in GZIP format")。
这个是由java.util.zip.GZIPInputStream抛出的。
具体抛异常位置:
private int readHeader(InputS