Spring项目打包后将resource下的资源压缩导致文件破损

当我们使用spring开发时,经常会将一些资源放到resource目录下,方便我们获取和使用,但是,在打包项目时,资源文件会被压缩到JAR或WAR包中,这可能导致Word文件等二进制文件损坏。

解决方式一:

可以将Word文件放在项目外部,而不是打包到项目中。您可以在项目运行时指定外部文件的路径,或者将文件放在服务器的文件系统中,并在应用中引用这些外部文件的路径。这样可以确保Word文件不会被压缩,避免文件损坏的问题。

解决方式二:

可以使用Maven特定资源目录,并配置构建工具不压缩这些文件。例如,在Maven中,你可以使用maven-resources-plugin来排除对特定文件的压缩,如下图中,将docx排除。

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <configuration>
                <encoding>UTF-8</encoding>
                <nonFilteredFileExtensions>
                    <nonFilteredFileExtension>docx</nonFilteredFileExtension>
                </nonFilteredFileExtensions>
            </configuration>
        </plugin>
    </plugins>
</build>