通常配置文件是放在src/main/resources下,build完之后会放在classes文件夹下,最终会打进jar包中。
如果是SPRING BOOT工程,部署时,要求配置文件不打进jar包中,要有sh启动命令文件,最终产生一个ZIP包,包含所有需要的东西。这时就需要善用MAVEN的resource插件、assembly插件和jar插件了。
resource插件能重定义配置文件在output时的文件夹路径,用profile的变量值替换配置文件中的占位符。
但要更改点位符的默认定义:
<properties>
<resource.delimiter>${}</resource.delimiter>
</properties>
jar插件能排除生成在classes文件夹中不要的文件被打进jar包中。
assembly插件能定义ZIP包中需要包含哪些文件。
<resources>
<resource>
<directory>src/main/bin</directory>
<!--表明此文件夹中如有占位符,则会取pom中的profile中的值代替-->
<filtering>true</filtering>
<includes>
<include>*.sh</include>
</includes>
</resource>
</resources>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<!--bin/文件夹不会被打进jar包-->
<excludes>
<exclude>bin/</exclude>
</excludes>
</configuration>
</plugin>
<fileSet>
<!--定义bin/文件夹被打进zip包-->
<directory>${build.outputDirectory}/bin</directory>
<outputDirectory>bin</outputDirectory>
<fileMode>0755</fileMode>
</fileSet>
maven打包加时间戳
https://blog.csdn.net/z410970953/article/details/50680603