在maven多项目/模块中会存在项目/模块间相互引用,此时会涉及到配置文件的加载,如果想过滤被引用项目中的配置文件,且被引用项目的单元测试能够正常独立使用,可以通过如下配置在打包过程中进行过滤。
相同名称的文件名,【被引用项目】中的不会被加载。可参考spring boot 配置文件加载优先级。
maven-jar-plugin 打包jar简单吧,是个人都会用,但是这玩意有个毛病,会把所有编译结果都打到jar包里面去,如果是多模块的工程,有时候会想把某些模块的功能打成jar包给其他模块使用,但是这些模块特有的xml配置文件和properties文件等就没有必要打包进去了,甚至打包进去的话会有问题的,如spring配置参数文件会被反复加载等,具体怎么排除呢?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<configuration>
<classesDirectory>target/classes/</classesDirectory>
<excludes>
<!--注意这玩意默认从编译结果目录开始算目录结构-->
<exclude>/*.properties</exclude>
<exclude>/*.xml</exclude>
</excludes>
</configuration>
</plugin>