我有一个在Windows环境下开发的应用程序。应用程序本身被部署到Linux环境中。每次我部署这个应用程序,我都必须使用dos2unix将可执行文件转换为UNIX格式。我原本以为这是由Windows CP1252编码引起的,所以我更新了Maven以将文件编码为UTF-8。这并没有解决我的问题,我很快发现,这与搜索本网站的回车和换行有关。有没有办法让Maven在构建过程中将所有文件转换为UNIX格式?我使用Maven 2.2.1和Java 5使用Maven将文件转换为UNIX格式
14
A
回答
14
您可以使用Maven插件antrun调用fixcrlf ant任务:
<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
Assembly插件有一个lineEnding
选项,它可以用来控制对于给定的fileSet
,文件的行结束。这个参数恰好在那里做你想做的。最终,您可以使用带有LF行的CRLF行和tar.gz归档文件构建zip归档文件。
E.g.
...
<fileSet>
<directory>${basedir}/src/main/build/QA</directory>
<outputDirectory>/bin</outputDirectory>
<includes>
<include>start.sh</include>
</includes>
<lineEnding>unix</lineEnding>
</fileSet>
...
在这个时候可能值包括:
- “保存” - 保存所有行结束
- “UNIX” - 使用Unix风格的行尾(即 “\ n”)
- “LF” - 使用单一换行符行尾(即 “\ n”)
- “杜斯” - 使用DOS-/Windows风格的行尾(即 “\ r \ n”)
- “窗口“ - 使用DOS-/Windows风格的线条结尾(即为 “\ r \ n” 个)
- “CRLF” - 使用回车,换行的行结尾(即, “\ r \ n” 个)
相关问题
- 1. 如何将某些文件从dos格式转换为unix
- 2. 将PowerPoint文件转换为ODP格式?
- 3. 将.log文件转换为CSV格式
- 4. 使用Python将文本文件转换为JSON格式
- 5. 转换yyyymmddThhmmss.SSSZ格式为Unix TIMESTMP
- 6. 转换Unix日期格式
- 7. 使用awk将日期文件转换为unix时间
- 8. 需要将EMF转换为JPEG,PNG文件格式使用java
- 9. 使用C#将音频文件转换为MP3格式
- 10. 使用Applescript将PDF文件转换为CSV,Excel或Numbers格式
- 11. 如何使用PHP将AVI文件转换为FLV格式?
- 12. 在Python中将unix csv文件转换为Windows格式[已解决]
- 13. 如何使用Perl将文件格式从Unix更改为DOS?
- 14. 使用Unix从GMT'twitter'格式转换为UTC
- 15. 如何将perix中的unix时代转换为可读格式
- 16. 在Python中,如何将此格式转换为unix时间戳?
- 17. Matlab将UNIX时间转换为人类可读格式
- 18. 将日期时间格式转换为Unix时间戳Pandas
- 19. 将UNIX时间戳转换为所需的任何格式?
- 20. 在PHP中将ATOM日期格式转换为UNIX
- 21. 将RTF转换为纯文本格式
- 22. 将Word文档转换为HTML格式
- 23. 将文本转换为PDU格式
- 24. 将文档转换为html格式
- 25. VB.Net将文本转换为WWW格式
- 26. 将file.modificationDate转换为UNIX? AS3
- 27. 如何使用avro-tools jar将csv文件转换为avro文件格式?
- 28. asp.net itextsharp将文件格式文件转换为PDF
- 29. 将doc文件转换为docx文件格式
- 30. 将eclipse格式化文件转换为checkstyle文件
我试图,这似乎正在工作。我也在使用maven assembly插件,现在由于这种转换,读取jar文件时出现问题。关于如何让它在Windows机器上构建的任何想法? –
2010-01-29 14:23:26
您可能想要添加包含或排除属性,因此您只更改* .txt或您要修改的任何资源 – Kevin 2010-01-29 14:40:42
谢谢,包含/排除工作。它修改了我的源代码目录中的文件,如果需要的话,这些文件可以正常运行,但是有没有什么办法让Maven组件插件在构建时运行这个ant任务,这样我就不必恢复或检查在我的文件? – 2010-01-29 14:48:20