java - 如何修复 spring boot 中损坏的 favicon.ico (而子文件夹中的 jpg-s 则没有)?

标签 java maven spring-boot favicon

我有一个 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/

相关文章:

java - 如何取消选中 JSF 中选择一个单选按钮的默认所有选项?

java - 部署到 Tomcat 7 OK 但无法访问应用程序

spring - 找不到该类型的属性 saveAll

Java 等同于 Python 的 toordinal()?

java - 打印一行时出现 ArrayIndexOutOfBoundsException

java - 使用自定义 TestNG.xml 文件而不是自动生成的文件?

java - 将两个 Java Maven 项目合并为一个

java - spring-boot 3.0.0 GraaVM 用于接口(interface) jakarta.servlet.http.HttpServletRequest

java - Spring Boot中的多模块依赖管理问题

java - 从外部访问 WAR 文件