Maven打包后src/main/java下非Java资源从类包中消失如何解决
问题原因
你原有配置的通配符规则有误:*/**.html只能匹配src/main/java下一级子目录内的HTML文件,无法匹配多级子目录下的模板文件,同时你覆盖了Maven默认的资源目录规则,会导致src/main/resources下的原有资源无法被正常打包。
正确配置
修改pom.xml的build段配置如下:
<build> <!-- 保留默认的resources目录配置,避免原有资源失效 --> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> <!-- 新增java目录下的HTML资源配置 --> <resource> <directory>src/main/java</directory> <filtering>false</filtering> <includes> <include>**/*.html</include> </includes> <excludes> <exclude>**/*.java</exclude> </excludes> </resource> </resources> </build>
验证方法
配置完成后执行mvn clean package打包,查看生成的WAR包内WEB-INF/classes/org/example/views目录下是否存在对应HTML文件即可。如果使用IDE开发,需要同步刷新Maven配置后重新构建项目。
内容的提问来源于stack exchange,提问作者Pavel Polyakoff
相关产品推荐
相关产品推荐

