Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot Spring boot CLI不支持';无法在windows上使用Git Bash_Spring Boot_Git Bash - Fatal编程技术网

Spring boot Spring boot CLI不支持';无法在windows上使用Git Bash

Spring boot Spring boot CLI不支持';无法在windows上使用Git Bash,spring-boot,git-bash,Spring Boot,Git Bash,Spring boot CLI拒绝在Git bash窗口上运行。我已经将它添加到windows中的path中,并从cmd开始工作。git bash中的错误是: $spring 错误:无法找到或加载主类org.springframework.boot.loader.JarLauncher出现此问题的原因是,在尝试运行Spring boot CLI jar时,脚本对JAVA_HOME和类路径使用了格式不正确的文件路径。查看spring安装的bin目录时,您可以看到两个脚本: 弹簧 春蝙蝠 当您从wi

Spring boot CLI拒绝在Git bash窗口上运行。我已经将它添加到windows中的path中,并从cmd开始工作。git bash中的错误是:

$spring

错误:无法找到或加载主类org.springframework.boot.loader.JarLauncher

出现此问题的原因是,在尝试运行Spring boot CLI jar时,脚本对JAVA_HOME和类路径使用了格式不正确的文件路径。查看spring安装的bin目录时,您可以看到两个脚本:

弹簧
春蝙蝠

当您从windows CMD运行时,将执行spring.bat脚本,该脚本可以正常工作,但是在git bash中运行时,它将使用spring脚本。此脚本将尝试使用
cygpath
纠正此问题,以确保文件路径为unix格式。它只有在确定自己正在Cygwin环境中运行时才会这样做,但在从git bash运行时不会这样做。因此,文件路径的格式不正确

幸运的是,如果您感兴趣,有一种黑客可以解决这个问题。注释掉第17行到第19行的
if
语句,并将其内容作为单独的一行添加,如下所示:

# if $cygwin ; then
#   [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
# fi
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
对于第92行的另一个
if
语句:

# if $cygwin; then
#   SPRING_HOME=`cygpath --path --mixed "$SPRING_HOME"`
#   CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
# fi

SPRING_HOME=`cygpath --path --mixed "$SPRING_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`

现在可以从git bash运行Spring Boot CLI了

我在git bash中运行“spring”命令时遇到了同样的问题,我发现我的spring安装在D驱动器上(而Java安装在C驱动器上)。在C驱动器目录下的git bash中运行“spring”命令时,我会遇到上述错误。如果我在GitBash中将目录切换到D驱动器,并再次运行“spring”命令,它就会工作