我试图在 Git Bash 和 PowerShell 中运行var demo = [{"accountName":"MTVN\\lalalala",
"baseOfficeLocation":"657 Hudson Street Floor 11",
"department":"Mp - Engineering - Engineering",
"jobTitle":"Sw Test Engineer",
"preferredName":"Beddingfield,Natasha",
"workEmail":"Natasha.Beddingfield@viacom.com"}]
console.log(replaceString(demo[0].jobTitle, 'Sw', 'Software')); // Software Test Engineer
function replaceString(str, substr, newSubstr){
var re = new RegExp(substr,"i");
return str.replace(re, newSubstr);
}
,并收到此错误:./gradlew bootRun
gradlew 文件位于从git克隆的项目目录中。这是春季官方指南的练习项目。还有一个带有以下行的 gradle.bat 文件:
ERROR: JAVA_HOME is set to an invalid directory: C:\Program Files\Java\jre1.8.0_121
我还尝试运行 Eclipse EE ,这没有问题。环境设置应该没问题。
答案 0 :(得分:4)
除了Ernest的回答之外,它想要的JAVA_HOME是实际目录,而不是像javac路径所需的bin文件夹。我花了一段时间来解决这个问题
答案 1 :(得分:3)
看起来您的JAVA_HOME变量解析为JRE安装目录。但是当你在谈论Gradle时,你肯定会尝试构建/编译代码。
如果安装了JDK,请将JAVA_HOME变量更改为指向它。文件夹名称通常应以“jdk”开头。否则,您必须安装Java Development Kit。
您还可以尝试在命令行上运行gradle之前手动导出变量(SET JAVA_HOME=<path to the jdk directory>
)
答案 2 :(得分:1)
尽管我的JAVA_HOME设置为正确的JDK路径,但我也遇到了同样的问题。 但是,Windows 10在路径的末尾附加了分号。 这样,JAVA_HOME变量将可以在任何地方使用,但不适用于Gradle。 我发布此邮件是因为它可能会节省我一直在寻找它的时间;)
答案 3 :(得分:1)
找到了一个我在谷歌搜索中从未见过的解决方案。
在某些编辑器中打开gradlew.bat。在第34行上,您将看到以下内容:
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%\bin\java.exe
if exist "%JAVA_EXE%" goto init
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
将此行添加到错误消息:echo %JAVA_EXE%
所以看起来像这样
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo %JAVA_EXE%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
然后运行gradlew.bat文件。
错误现在应该再次出现,但是添加了指向JAVA_EXE路径的回显。就我而言,它是在回显\bin\java.exe
而不是完整路径C:\...\Java\jre1.8.0_251\bin\java.exe
要解决此问题,我更改了
set JAVA_EXE=%JAVA_HOME%\bin\java.exe
到
set JAVA_EXE=C:\...\Java\jdk1.8.0_261\bin\java.exe
该值现在已被硬编码,是正确的,但是可以正常工作。我不知道为什么gradle不将变量名连接到路径中。