解决一次java.util.zip.ZipException: Unexpected record signature: 0X9问题

编程入门 行业动态 更新时间:2024-10-24 08:28:08

解决一次java.util.<a href=https://www.elefans.com/category/jswz/34/1771115.html style=zip.ZipException: Unexpected record signature: 0X9问题"/>

解决一次java.util.zip.ZipException: Unexpected record signature: 0X9问题

打包时候文件压缩导致文件不可用
部分pom.xml 手打版

<properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties><build><resources><resource><directory>src/main/resources</directory><filtering>true</filtering><includes><include>**/*</include></includes></resource></resources><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.10.0</version><configuration><source>${java.version}</source><target>${java.version}</target><encoding>${project.build.sourceEncoding}</encoding></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><version>3.1.0</version><configuration><nonFilteredFileExtensions><nonFilteredFileExtension>xlsx</nonFilteredFileExtension><nonFilteredFileExtension>xls</nonFilteredFileExtension><nonFilteredFileExtension>zip</nonFilteredFileExtension><nonFilteredFileExtension>pdf</nonFilteredFileExtension></nonFilteredFileExtensions></configuration></plugin></plugins>
</build>

同事在子项目里加的org.apache.maven.plugins配置覆盖了原来父工程pom中对org.apache.maven.plugins中nonFilteredFileExtension的定义

父子工程的依赖继承问题
子模块会继承父工程的依赖,但并不是所有继承下来的依赖都有效、还能在子模块中使用。作用域是provided、test的依赖,继承下来都是无效的,需要在子模块的pom.xml中重新导入

jar包锁定
公司往往要在父工程的pom.xml中统一项目的jar包版本,但如果在子模块的pom.xml中导入了同名、不同版本的jar包,会覆盖父工程传递的同名依赖。为防止这种问题,需要在父工程的pom.xml中锁定jar包版本。
就是把<dependencies>拷贝一下放到<dependencyManagement>中。锁定之后,如果子模块中出现同名的依赖,以父工程传递的依赖(锁定的依赖)为准。
需要注意的是<dependencyManagement>只有锁定jar包的功能,不会导入jar包。

maven 是个管理工具,如果我们不告诉它我们的代码要使用什么样的 jdk 版本编译的话,它就会用 maven-compiler-plugin 默认的 jdk 版本来进行处理,这样就容易出现版本不匹配,以至于可能导致编译不通过的问题。

​​maven-compiler-plugin插件是一个Maven插件,用来编译项目代码maven-compiler-plugin主要负责的是java代码的版本管理、编译、编码等方面的功能

maven-resources-plugin忽略对某些文件进行处理
maven打包项目的时maven-resources-plugin插件会对资源文件中占位符进行替换 但部分文件可能不需要进行替换,例如:证书文件,Excel文件等这些文件处理后将不能使用

作者:chenzan
链接:
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

参考文档:
Maven 打包指定资源配置文件 及 防止打包时候文件压缩导致文件不可用
Maven 父子工程的一些细节
maven-compiler-plugin详解
maven几种打包插件介绍,及个人心得总结

更多推荐

解决一次java.util.zip.ZipException: Unexpected record signature: 0X9问题

本文发布于:2023-11-15 01:26:21,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1591239.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:zip   ZipException   java   util   signature

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!