gpt4 book ai didi

java - 由于 header 不正确,Sh 脚本未执行

转载 作者:行者123 更新时间:2023-11-29 08:35:15 26 4
gpt4 key购买 nike

我正在使用 mvn clean install 命令生成一个 .jar 文件。此 jar 文件包含一个 sh 脚本,该脚本应该被移动到 /tmp,然后用于从 pdf 文件生成图像。

EDIT :文件并未真正移动。它是在我的 /tmp 中从 .jar 创建的。

.jar 文件从 windows 生成,但从 redhat linux 生产服务器使用。

有时,脚本无法运行,因为它的 header 的十六进制格式似乎不正确(使用 vim 并键入 :%!xxd)。

在我的脚本的正确版本中,第一行如下所示:

0000000: 2321 2f62 696e 2f62 6173 680a 5044 4654 #!/bin/bash.PDFT

在不正确的版本中,您可以看到:

0000000: 2321 2f62 696e 2f62 6173 680d 0a50 4446 #!/bin/bash..PDF

如果没有十六进制,文件的开头看起来像这样(很明显):

#!/bin/bash
PDFTOPPM=pdftoppm
CONVERT=convert
LOG=/tmp/pdf2imgSh.log

有没有人遇到过这个问题?我如何强制我的 Maven 安装(在 Windows 上)正确生成 jar 而脚本中没有损坏的 header ?

这个问题对我来说有点模糊,所以不要犹豫,要求编辑或精确度。

提前致谢。

最佳答案

在@h22 回答和@SubOtpimal 评论之后,我认为您可以强制 Maven 对特定文件的 EOL 进行编码。

将此插件添加到您的 pom.xml

<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 srcdir="${basedir}/src/main/resources/yourfilepath" eol="unix" />
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

使用您自己的文件或文件夹更改路径。它递归地工作。小心不要忘记路径,否则它会破坏你的 jar 。这可能会成功。希望这有帮助!

关于java - 由于 header 不正确,Sh 脚本未执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44585854/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com