2017-09-06 99 views
0

我有JETT由生成報告的方法:如何通過maven修復損壞的xls文件?

try { 

     InputStream inPath = ProdutoManagedBean.class.getResourceAsStream("/template.xls"); 

     ExcelTransformer transformer = new ExcelTransformer(); 
     transformer.transform(inPath, beans); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } catch (InvalidFormatException e) { 
     e.printStackTrace(); 
    } 

我具有transformer.transfom一個InvalidFormatException(...):

22:44:37,803 ERROR [stderr] (default task-28) org.apache.poi.openxml4j.exceptions.InvalidFormatException: Your InputStream was neither an OLE2 stream, nor an OOXML stream 

我調查了行家導致此數據腐敗,但我把過濾器工件放在pom.xml中,它仍然繼續損壞:

<plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>${compiler-plugin.version}</version> 
       <configuration> 
        <encoding>UTF-8</encoding> 
        <nonFilteredFileExtensions> 
         <nonFilteredFileExtension>xls</nonFilteredFileExtension> 
        </nonFilteredFileExtensions> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-jar-plugin</artifactId> 
       <version>2.5</version> 
       <inherited>true</inherited> 
       <configuration> 
        <encoding>UTF-8</encoding> 
        <nonFilteredFileExtensions> 
         <nonFilteredFileExtension>xls</nonFilteredFileExtension> 
        </nonFilteredFileExtensions> 
       </configuration> 
      </plugin> 
      <plugin> 
+1

maven-jar-plugin的配置是無用的,因爲這些配置元素在[maven-jar-plugin]中不存在(https://maven.apache.org/plugins/maven-jar-plugin/jar- mojo.html)。你是否檢查過原始文件是否正確? – khmarbaise

+0

好像這個maven用戶讓你陷入困境。所以一些明確的maven仇敵的提示:-):你應該閱讀關於在maven中提供資源的最佳實踐方法。不,這不會把它們放在課堂旁邊的罐子裏。你的「nonFilteredFileExtension」只能在maven-resources-plugin中使用,推薦使用。 maven-compiler-plugin僅提供「排除」。 –

回答

0

我能解決;我把這個神器在具有網絡基礎設施組件項目的pom.xml:

<build> 
      <plugins> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-war-plugin</artifactId> 
        <version>3.1.0</version> 
        <inherited>true</inherited> 
        <configuration> 
         <encoding>UTF-8</encoding> 
         <nonFilteredFileExtensions> 
          <nonFilteredFileExtension>xls</nonFilteredFileExtension> 
         </nonFilteredFileExtensions> 
       </plugin> 
      </plugins> 
     </build> 

這可能造成項目的技術架構的特異性的問題。