2017-09-06 1 views
0

Ich habe ein Verfahren zum Erzeugen Bericht mit jett gemacht:Wie beschädigte XLS-Datei von Maven reparieren?

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(); 
    } 

Ich bin ein InvalidFormatException in transformer.transfom mit (...):

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 

ich das Maven untersucht diese Daten verursacht Korruption, aber ich habe die Filter Artefakte in der pom.xml und es weiterhin noch beschädigt kommen:

<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

Die Konfigurationen für das maven-jar-plugin sind nutzlos, da diese Konfigurationselemente nicht in [maven-jar-plugin] existieren (https://maven.apache.org/plugins/maven-jar-plugin/jar- mojo.html). Haben Sie überprüft, ob die Originaldatei korrekt ist? – khmarbaise

+0

Scheint so, als ob die maven Benutzer Sie im Stich lassen. Also ein paar Hinweise von jemandem, der ein expliziter Maven-Hasser ist ;-): Sie sollten über den Best-Practice-Weg lesen, um Ressourcen in Maven bereitzustellen. Und nein, das bringt sie nicht in den Topf neben den Klassen. Ihre "nonFilteredFileExtension" Funktion funktioniert nur in maven-resources-plugin, welches empfohlen wird. Das Maven-Compiler-Plugin bietet nur "excludes". –

Antwort

0

ich war in der Lage zu lösen; Ich habe diesen Artefakt in der pom.xml des Projektes, das die Web-Infrastruktur-Komponenten hat:

<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> 

Es war wahrscheinlich ein Problem mit einer Spezifität der technischen Architektur des Projektes verursacht.

Verwandte Themen