Maven配置:修改/src/main/resources文件的部署目录
解决Maven War项目资源文件部署路径问题
你之前调整Eclipse的Java Build Path和Deploy Assembly没起作用,核心原因是Maven构建过程会完全接管war包的结构生成,Eclipse的本地配置会被Maven的pom.xml覆盖。要把/src/main/resources下的文件部署到WEB-INF/cfg,必须修改maven-war-plugin的配置:
修改pom.xml里的maven-war-plugin节点,添加webResources配置,明确指定资源的源路径和目标部署路径:
<plugin> <artifactId>maven-war-plugin</artifactId> <version>3.2.3</version> <configuration> <packagingExcludes></packagingExcludes> <!-- 新增资源路径映射配置 --> <webResources> <!-- 将src/main/resources下的所有文件部署到WEB-INF/cfg --> <resource> <directory>src/main/resources</directory> <targetPath>WEB-INF/cfg</targetPath> <!-- 如需排除特定文件,可添加过滤规则,示例:<exclude>**/*.xml</exclude> --> </resource> <!-- 保留编译后的class文件到WEB-INF/classes(不需要可删除此节点) --> <resource> <directory>target/classes</directory> <targetPath>WEB-INF/classes</targetPath> </resource> </webResources> </configuration> </plugin>
关键配置说明:
<directory>:设置要打包的资源源目录,这里指向你的src/main/resources<targetPath>:设置资源在最终war包中的目标路径,这里指定为WEB-INF/cfg- 如果只需要把部分资源移到
WEB-INF/cfg,可以在第一个resource节点里添加<excludes>或<includes>规则,精准控制哪些文件走自定义路径。
修改完成后,执行mvn clean install,生成的war包里,src/main/resources的文件就会出现在WEB-INF/cfg目录下,而不是默认的WEB-INF/classes。
内容的提问来源于stack exchange,提问作者Charles
相关产品推荐
相关产品推荐

