'在根项目'project_name'中找不到。一些候选人是:'fatJar'

时间:2018-02-19 08:31:24

标签: bash gradle windows-subsystem-for-linux

我运行Windows 10 bash.exe来运行bash脚本。我遇到一种有线的情况,如果我在bash中添加gradle fatJar以下的任何内容,则会抛出错误。

Bash脚本:(不工作)

#!/usr/bin/env bash
rm -rf build
gradle fatJar
echo 'Success'
  在根项目'project_name'中找不到

。一些候选人是:   'fatJar'。

Bash脚本:(工作)

#!/usr/bin/env bash
rm -rf build
gradle fatJar

为什么我无法在gradle fatJar以下添加任何内容?这只发生在Windows 10 bash中。在Mac中,两者都可以正常工作。

1 个答案:

答案 0 :(得分:1)

我想通了我自己。希望这个答案可以帮助别人。

经过一段时间的游戏后,我发现如果我使用&&在一行中写下所有内容,一切正常,例如:rm -rf build&&gradle fatJar&&echo 'Success'然后我意识到换行符有些错误。它正在为永久换行添加\r

经过一番研究,我发现了原因。之所以发生这种情况是因为我在In Mac IntelliJ中提交了文件,之后我在Windows IntelliJ中编辑了该文件,最后一次编辑将bash文件的行分隔符格式更改为CRLF Windows (\r\n),每个内部都添加了\r换行。

我将行分隔符更改为LF UNIX and OS X (\n)并将所有内容按预期运行。

要更改IntelliJ中的行分隔符,请关注here和其他here