卡桑德拉 - "The system cannot find the file specified"

Cassandra - "The system cannot find the file specified"

我已经在 Windows 10 上安装了 Cassandra,现在当我尝试使用 "cassandra" 运行 它时,出现以下错误:

有什么想法吗?

不要将 Cassandra 安装到名称中包含 space 的目录中。 Windows 的启动脚本在使用此类名称时存在问题。

进一步调查后更新:

更精确地查看代码,它似乎无法使用给定的命令行开关启动 Java:-d64 -version - Java 可执行文件不在您的 Java 版本不支持 PATH 或 -d64 开关 - 例如,如果您安装了 32 位版本的 Java。请尝试从命令行 运行 java -d64 -version 检查它是否有效

查看文件后,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 设置正确,然后我会追踪它的踪迹并查看 conf\cassandra-env.ps1 文件中的 ParseJVMInfo 函数在您的设置中抛出错误。

更新: 检查 JAVA_HOME 环境变量并查看它是否设置 使得 [JAVA_HOME]\bin\java.exe 存在 .

实际上,这与路径无关... 它是关于为您尝试访问的路径提供适当的访问权限/特权,这与 windows 上的 UAC 设置有关,请尝试将其最小化并确保您通过单击文件夹属性并提供正确的访问权限允许您的用户或所有人访问此路径读取/更改或完全控制。

所以你不必卸载任何东西:)

在我的例子中,我更新了我的 java 版本并在系统环境中添加了最新版本,并且 运行 此命令以管理员身份在 cassandra specieid path(C:\Program Files\apache-cassandra-3.11 .6\bin).

cassandra.bat -f

它 运行宁 perfactly!!

并确保您必须允许执行 PowerShell 脚本。为此检查这个 https://www.howtogeek.com/106273/how-to-allow-the-execution-of-powershell-scripts-on-windows-7/