如何使用用于unix行结束的maven汇编插件

pod7payv  于 2022-10-26  发布在  Maven
关注(0)|答案(2)|浏览(180)

我有一个Java项目,其中包含一些需要部署在Unix机器上的脚本,因此我需要Unix的文件结尾,我如何使用Maven汇编插件来实现这一点?

waxmsbnn

waxmsbnn1#

要将特定文件的行尾设置为linux\unix\lf,您可以使用它的lineEnding属性,例如unix。还可以使用以下选项:
设置此文件集中文件的行尾。有效值:
“Keep”-保留所有行尾
“unix”-使用Unix风格的行尾(即“\n”)
“lf”-使用单行换行符结尾(即“\n”)
“DOS”-使用DOS/Windows风格的行尾(即“\r\n”)
“Windows”-使用DOS/Windows风格的行尾(即“\r\n”)
“crlf”-使用回车符、换行符(即“\r\n”)
示例:

<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">

<id>x</id>
<formats>
    <format>tgz</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
    <fileSet>
        <directory>../../deploy/script/linux_x86</directory>
        <outputDirectory>${project.version}/bin</outputDirectory>
        <fileMode>0755</fileMode>
        <lineEnding>unix</lineEnding>
    </fileSet>
</fileSets>

Maven汇编plgins为文件提供了大量选项。查看官方文档https://maven.apache.org/plugins/maven-assembly-plugin/assembly.html

xxhby3vn

xxhby3vn2#

始终可以在JAVA_OPTS或MAVEN_OPTS中设置编码和行距(对于Windows):

JAVA_OPTS=-Xms128m -Xmx2048m -Dfile.encoding=UTF-8 -Dline.endings="\u000A"

我已经尝试了很多,改变命令行参数的唯一方法就是使用Unicode。在这里你可以找到一个解释,为什么它是有效的:https://www.sitepoint.com/java-unicode-mysterious-compile-error/

相关问题