看完文件之后,powershell脚本cassandra-env.ps1
执行以下功能:
if (Test-Path Env:\JAVA_HOME)
{
$env:JAVA_BIN = "$env:JAVA_HOME\bin\java.exe"
}
elseif (Get-Command "java.exe")
{
$env:JAVA_BIN = "java.exe"
}
else
{
echo "ERROR! No JAVA_HOME set and could not find java.exe in the path."
exit
}
我不是Cassandra的专家,但如果我是你,我会运行这个脚本,并确保$env:JAVA_BIN
设置正确,从那里我会跟踪它的跟踪并检查ParseJVMInfo
文件中的conf\cassandra-env.ps1
函数,这是你的错误建立。
更新:检查JAVA_HOME环境变量,看看它是否设置为[JAVA_HOME] \ bin \ java.exe存在。
不要将Cassandra安装到名称中包含空格的目录中。 Windows的启动脚本存在此类名称的问题。
更多调查后更新:
更准确地看待代码,看起来它无法使用给定的命令行开关启动Java:-d64 -version
- Java可执行文件不在PATH中,或者您的Java版本不支持-d64
开关 - 例如,如果您安装了32位版本的Java。请尝试从命令行运行java -d64 -version
以检查它是否有效
实际上,它不是关于路径...它是关于给你试图访问的路径提供适当的访问/权限,这与Windows上的UAC设置有关,尝试最小化它并确保你有正确的访问权限单击文件夹属性并授予您的用户或每个人访问此路径的权限读取/更改或完全控制。
所以你不必卸载任何东西:)