1. 程式人生 > >maven打包後flash檔案變大,無法正常執行

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>