我有一个 springboot mavenproject,其中包含文件夹中的图像资源
- src/main/resources/static/favicon.ico
- src/main/resources/static/img/cart.jpg
以及对应的maven脚本pom.xml包含
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
根据https://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html filtering=true 替换占位符,因此会破坏二进制图像。
使用 mvn install
构建应用程序后,我的目标目录包含这些文件
- 目标/类/static/favicon.ico
- 目标/classes/static/img/cart.jpg
其中 favicon.ico 已损坏(由于过滤),而 img/cart.jpg 则未损坏。
知道在哪里完成保护 img/cart.jpg(并且可以扩展为 favicon.ico)吗?
我当前的解决方法。我有一个单独的资源文件夹“resource-bin”,仅用于 favicon.ico
- src/main/resources-bin/static/favicon.ico
使用此 Maven 设置
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/resources-bin</directory>
</resource>
</resources>
最佳答案
我使用 nonFilteredFileExtensions 排除了对 .ico 的过滤
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>ico</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
我的 favicon.ico 被复制而没有损坏。
关于java - 如何修复 spring boot 中损坏的 favicon.ico (而子文件夹中的 jpg-s 则没有)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53666015/