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

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

<properties>
	<java.version>1.8java.version>
	<project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
properties>

<build>
	<resources>
		<resource>
			<directory>src/main/resourcesdirectory>
			<filtering>truefiltering>
			<includes>
				<include>**/*include>
			includes>
		resource>
	resources>

	<plugins>
		<plugin>
			<groupId>org.apache.maven.pluginsgroupId>
			<artifactId>maven-compiler-pluginartifactId>
			<version>3.10.0version>
			<configuration>
				<source>${java.version}source>
				<target>${java.version}target>
				<encoding>${project.build.sourceEncoding}encoding>
			configuration>
		plugin>

		<plugin>
			<groupId>org.apache.maven.pluginsgroupId>
			<artifactId>maven-resources-pluginartifactId>
			<version>3.1.0version>
			<configuration>
				<nonFilteredFileExtensions>
					<nonFilteredFileExtension>xlsxnonFilteredFileExtension>
					<nonFilteredFileExtension>xlsnonFilteredFileExtension>
					<nonFilteredFileExtension>zipnonFilteredFileExtension>
					<nonFilteredFileExtension>pdfnonFilteredFileExtension>
				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包版本。
就是把拷贝一下放到中。锁定之后,如果子模块中出现同名的依赖,以父工程传递的依赖(锁定的依赖)为准。
需要注意的是只有锁定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
链接:https://www.jianshu.com/p/d93c6c553f5f
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

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

你可能感兴趣的:(工作总结,java,开发语言)