Squirrel SQL 使用 Java.exe 的旧路径

Posted

技术标签:

【中文标题】Squirrel SQL 使用 Java.exe 的旧路径【英文标题】:Squirrel SQL using old path of Java.exe 【发布时间】:2015-02-27 04:35:35 【问题描述】:

当我双击 .bat 文件时,我的 Squirrel SQL 没有打开。 (cmd提示出现然后消失) 我想,我今天早上刚刚重新安装了最新的 Java 版本并删除了旧版本。 如何在 Squirrel 配置文件中更改新 Java.exe 的路径? Squirrel SQL 的配置文件在哪里。

【问题讨论】:

【参考方案1】:

确保您的 JAVA_HOME 环境变量指向现有的 Java 安装。

【讨论】:

【参考方案2】:

我将从 windows 10x64 的角度来回答这个问题。

squirrel 用于启动的配置文件名为squirrel-sql.bat。它与squirrel-sql.jar位于同一目录中。

然后程序使用以下语句设置一个名为 IZPACK_JAVA 的变量:

"IZPACK_JAVA=%JAVA_HOME%"

然后它会尝试将 bat 程序中使用的 LOCAL JAVA 变量设置为您的 javaw.exe 路径,以便它可以继续启动序列

if exist "%IZPACK_JAVA%\bin\javaw.exe" (
  set "LOCAL_JAVA=%IZPACK_JAVA%\bin\javaw.exe"
) else (
  set LOCAL_JAVA=javaw.exe
)

如果在您当前的 Windows 安装中没有 JAVA_HOME 环境变量,请在控制面板的 View advanced system settings 中创建它。 如果您已经拥有它,只需编辑它以确保JAVA HOME 环境变量指向C:\Program Files\Java\jre#.#.###,其中jre#.#.### 是您的java 安装文件夹的文件夹版本(首选选项)或C:\Program Files\Java\jre#.#.###\bin

如果您安装了多个 java 版本,您需要将 JAVA HOME 指向正确的版本号(取决于您的 Software\JavaSoft\Java Runtime Environment\CurrentVersion 注册表项的值)。

另一个技巧是将PATH 变量的%JAVA_HOME%\bin 值放在路径值的开头。

创建或修改JAVA_HOME环境变量路径后,重启电脑使其生效。

这解决了我的问题,在我创建 JAVA_HOME 环境变量并将其指向正确的方向后,我能够运行 Squirrel,而且我不必删除 Windows 系统目录中的任何 .exe 文件。

这也解决了this问题中的错误

错误:注册表项 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion' 的值为 '1.8',但需要 '1.7'。

错误:找不到 java.dll

错误:找不到 Java SE 运行时环境。

【讨论】:

我用的是zulu open jdk 15,所以需要把%IZPACK_JAVA%(zulu jdk)换成其他jdk(1.8)

以上是关于Squirrel SQL 使用 Java.exe 的旧路径的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 squirrel-sql 连接到 docker 中的 oracle db

使用 JDBC(例如 Squirrel SQL)用 Spark SQL 查询 Cassandra

在 SQuirrel-sql 中调试 SQL 查询

通过 squirrel sql 连接到 hive/spark sql 时读取超时

Squirrel SQL 渲染在 SQL 视图中闪烁

如何从非域注册的 Linux 机器使用 SQuirreL SQL 连接到 SQL Server?