maven打包后flash文件变大,无法正常运行

最近一个老项目重构,前台使用了swfupload来实现多文件上传,这是一个用flash实现的插件。

开发阶段,打包测试时均无问题。测试阶段,在服务器部署后,该插件就莫名失效了。

经过排查最终确认是maven打测试包时,加上了资源过滤导致swfupload.swf文件变大。

以下摘自maven文档

Warning: Do not filter files with binary content like images! This will most likely result in corrupt output.

If you have both text files and binary files as resources it is recommended to have two separated folders. One folder src/main/resources (default) for the resources which are not filtered and another folder src/main/resources-filtered for the resources which are filtered.

也就是说二进制文件不能过滤,要排除需要打包的二进制文件。

解决办法一

在pom.xml中对该文件或者文件夹作排除过滤处理。目前项目采用这个办法处理

<resources>
    <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
        <excludes>
            <exclude>..</exclude>
            <exclude>static/src/js/swfupload.swf</exclude>
        </excludes>
    </resource>
    <resource>
        <directory>src/main/resources</directory>
        <filtering>false</filtering>
        <includes>
            <include>static/src/js/swfupload.swf</include>
        </includes>
    </resource>
</resources>

解决办法二

这是网上看到的方法,还未尝试,先保留记录

<plugin>
    <artifactId>maven-resources-plugin</artifactId>
    <configuration>
        <nonFilteredFileExtensions>
            <nonFilteredFileExtension>cer</nonFilteredFileExtension>
        </nonFilteredFileExtensions>
    </configuration>
</plugin>

猜你喜欢

转载自blog.csdn.net/yanxin1213/article/details/83140957