java.io.IOException: Invalid header signature; read 0xE011BDBFEFBDBFEF, expected 0xE11AB1A1E011CFD0


根據網上的解釋,這個表示poi讀取excel(97-2003)的時候頭文件被損壞了,正常的方式:能打開的話,另存一下即可,實在不行直接新建一個內容一樣的

本人環境:eclipse部署到tomcat,eclipse下的源碼是正確的,只要發布到tomcat就是文件損壞,以前是好的

原因:使用了maven,而且為了配置profile,使用了resource,resource他會把它配置的路徑下的文件過一遍,然后用pom定義的變量的值給替換掉,

excel不存在替換變量的問題,但應該會檢查,估計會打開的過程中出問題了,具體沒有深究,網上也是這么說的。

方案:把excel所在的目錄或者excel文件設置為不讓他檢查,pom的配置,如下:

這樣把excel的路徑給排除了,或者后面一種注釋的也可以

今天做jenkins的一鍵部署(svn,jenkins,maven)

發現上面的這段配置在一鍵部署的服務器上excel下載還是報標題上的錯誤,很納悶呀!理論本地通過了服務器也應該是通過的,可能原因:

1、環境不一致,本地windows,一鍵部署是linux(centos6.4)

2、軟件版本不一致,本地maven是3.25,服務器是3.3.9的

目前測試情況來看:去掉上面的exclude,加入nonFilteredFileExtensions,如下:

          <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
           </resources>
		<finalName>cotton</finalName>
		<plugins>
			<plugin>
			    <groupId>org.apache.maven.plugins</groupId>
			    <artifactId>maven-resources-plugin</artifactId>
			    <configuration>
			        <encoding>UTF-8</encoding>
			        <nonFilteredFileExtensions>
			            <nonFilteredFileExtension>xls</nonFilteredFileExtension>
			            <nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
			        </nonFilteredFileExtensions>
			    </configuration>
			</plugin>
                        。。。

  目前還發現再生產環境中部署(多台機器),第一次一鍵部署不起作用,第二次才起,不曉得為什么,以后追一下!暫時記錄


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM