Tengo una aplicación desarrollada en un entorno Windows. La aplicación en sí misma se implementa en un entorno Linux. Cada vez que despliegue esta aplicación, tengo que convertir los archivos ejecutables a formato UNIX usando dos2unix. Originalmente pensé que esto fue causado por la codificación Windows CP1252, así que actualicé Maven para codificar los archivos en UTF-8. Esto no solucionó mi problema y descubrí rápidamente que esto tiene que ver con los retornos de carro y los avances de línea al buscar en este sitio. ¿Hay alguna manera de que Maven convierta todos los archivos al formato UNIX durante el proceso de compilación? Estoy utilizando Maven 2.2.1 y Java 5.Convierta archivos a formato UNIX usando Maven
14
A
Respuesta
14
Usted puede utilizar el plugin de Maven antrun a llamar a la tarea ant fixcrlf:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>ant-test</groupId>
<artifactId>ant-test</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>ant-test</id>
<phase>package</phase>
<configuration>
<tasks>
<fixcrlf ... />
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
35
El plug-in de montaje tiene una opción lineEnding
que se puede utilizar para controlar el final de línea de los archivos para un fileSet
dado. Este parámetro está precisamente allí para hacer lo que quieras. En última instancia, podría crear archivos zip con líneas CRLF y archivos tar.gz con líneas LF.
E.g.
...
<fileSet>
<directory>${basedir}/src/main/build/QA</directory>
<outputDirectory>/bin</outputDirectory>
<includes>
<include>start.sh</include>
</includes>
<lineEnding>unix</lineEnding>
</fileSet>
...
valores posibles en este momento incluyen:
- "mantener" - Conservar todos los finales de línea
- "Unix" - los finales de línea de estilo Unix uso (es decir, "\ n")
- "LF" - utilizar una línea de alimentación única finales de línea (es decir, "\ n")
- "DOS" - finales de línea de estilo de windows uso DOS-/(es decir, "\ r \ n")
- "ventanas "- Use DOS-/Windows extremo de línea estilo (es decir "\ R \ n")
- "crlf" - Uso de retorno de carro, finales de línea de avance de línea (es decir, "\ r \ n")
Cuestiones relacionadas
- 1. Archivos de formato UNIX con Powershell
- 2. jQuery UI - Convierta jQuery UI Datepicker a hora UNIX
- 3. Convierta Word Document a PDF usando Java
- 4. unix: fusiona 2 archivos usando 2das columnas
- 5. Convierta WAV a WMA usando .NET
- 6. ¿Hay alguna función que convierta HTML a texto sin formato?
- 7. Convierta una cadena con formato PEM a java.security.cert.X509Certificate
- 8. Convierta texto sin formato a PDF en Python
- 9. Convierta JSON a CSV
- 10. Convierta cadena dd/mm/aaaa a marca de tiempo Unix en MySQL
- 11. Cómo convertir archivos de Dos a Unix
- 12. Analizando XML usando el terminal de Unix
- 13. Convierta .pdf en imágenes usando RMagick & Ruby
- 14. Convierta java.util.Date a la Cadena
- 15. Mysql Unix-Timestamp Formato de fecha
- 16. formato a la fecha usando Ruby on Rails
- 17. Convierta directamente .aspx a .pdf
- 18. Convierta archivos AAC (.m4a) a .mp3 en el directorio
- 19. Copie archivos omitiendo archivos existentes - Unix
- 20. ¿Cómo configurar GNU Emacs para escribir archivos con formato UNIX o DOS de forma predeterminada?
- 21. comparar dos archivos en UNIX
- 22. Convierta una cadena a int usando la consulta sql
- 23. Abrir un archivo en Unix usando C++
- 24. Convierta System.Windows.Media.ImageSource a System.Drawing.Bitmap
- 25. Convierta HTML a XAML
- 26. Convierta System.Windows.Media.Brush a System.Drawing.Brush
- 27. Convierta JavaScript a Java
- 28. Convierta CGcolorRef a UIColor
- 29. Convierta nsdictionary a nsdata
- 30. Editor de Eclipse: Cómo cambiar el formato de archivo de Dos a Unix
Probé , que parece estar funcionando. También estoy usando el complemento maven assembly y ahora está teniendo problemas para leer los archivos jar debido a esta conversión. ¿Alguna idea sobre cómo puedo hacer que esto se desarrolle en una máquina con Windows? –
Es probable que desee agregar un atributo de inclusión o exclusión, por lo que solo está cambiando * .txt o cualquier recurso que intente modificar – Kevin
Gracias, se incluye/no se excluye. Sin embargo, modifica los archivos en mis directorios de origen, lo cual estará bien si es necesario, pero ¿hay alguna manera de hacer que el complemento Maven ensamble ejecute esta tarea mientras se está construyendo para que no tenga que revertir o verificar en mis archivos? –