2012-04-05 5 views
12

Tengo un problema extraño con eclipse. Cuando pongo un archivo .xls en la ruta src/test/resources, se copia por eclipse en la ruta target.Archivo de Excel dañado al copiar de src al destino en Eclipse IDE

Sin embargo, el archivo en la ruta de destino ya no es el mismo. Ya no puedo abrirlo en MS Excel y cuando comparo los dos archivos, veo algunas diferencias binarias. ¿Cómo puede pasar esto?

PD: mi entorno de eclipse se genera con maven.

+3

¿Ha intentado excluir el filtrado de recursos? http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html –

Respuesta

25

Gracias a las respuestas anteriores descubrimos cómo hacer frente al problema:

<plugin> 
     <artifactId>maven-resources-plugin</artifactId> 
     <version>2.5</version> 
     <configuration> 
     <encoding>UTF-8</encoding> 
     <nonFilteredFileExtensions> 
      <nonFilteredFileExtension>xls</nonFilteredFileExtension> 
     </nonFilteredFileExtensions> 
     </configuration> 
    </plugin> 
+0

Gracias por la pista, no sabía estas opciones :) –

11

Tuve el mismo problema, y ​​fue causado por el plugin de recursos Maven que filtró y modificó mis archivos de Excel.

Para evitar que esto suceda, añadir algo como esto (ver el Maven doc): ACTUALIZACIÓN

<build>    
     <resources> 
      <resource> 
       <filtering>true</filtering> 
       <directory>src/test/resources</directory> 
       <excludes> 
        <exclude>**/*.xls</exclude> 
       </excludes> 
     </resource> 
... 

: Copiar en recursos, pero no filtrar

<resources> 
     <resource> 
     <directory>src/test/resources</directory> 
     <filtering>true</filtering> 
     <excludes> 
      <exclude>**/*.xls</exclude> 
     </excludes> 
     </resource> 
     <resource> 
     <directory>src/test/resources</directory> 
     <filtering>false</filtering> 
     <includes> 
      <include>**/*.xls</include> 
     </includes> 
     </resource> 
     ... 
    </resources> 
+0

Ant build script tiene problemas similares, cuando aplica un filtro tiene que leer el archivo, esto supone que está usando un texto archivo y los archivos se copiarán como texto y no como bytes dando como resultado la corrupción – Peter

+1

con este fragmento el archivo xls no se copiará. Sin embargo, necesitamos el archivo, pero no está dañado – bertolami

+0

Disculpe, edité la respuesta :) –

Cuestiones relacionadas