H2 数据库无法在 KUbuntu 18.04 上打开浏览器页面

H2 database won't open browser page on KUbuntu 18.04

我一直在毫无问题地访问 H2 数据库,直到我将 Ubuntu 16.04 LTS(这对我来说是一场灾难 - Ubuntu,而不是升级)升级到 KUbuntu 18.04(效果更好)。现在,由于我不明白的原因,H2 不会打开浏览器 window。

我运行:

 java -jar h2-1.3.174.jar -url "jdbc:h2:~/hcs/application/demo/dcdemo;DATABASE_TO_UPPER=FALSE" -user SA

这用于在我的浏览器中打开 window。现在它只是坐在那里。使用 lsof -p <h2_pid> 我可以看到它正在监听的端口并手动将我的网络浏览器定向到那里。通常类似于 localhost:34029。然后它就可以正常工作了。

更有趣,如果我只是 运行:

java-jar h2-1.3.174.jar

我收到一条错误消息:

Failed to start a browser to open the URL http://127.0.1.1:44177: Browser detection failed and system property h2.browser not set

我尝试将 "h2.browser" 设置为环境变量,但它无效。

深入研究文档并搜索 Google,我没有找到可以将 H2 正确指向我的浏览器的位置 - Chromium 版本 69.0.3497.81(官方构建)基于 Ubuntu, 运行ning Ubuntu 18.04(64 位)加载到 /usr/bin/chromium-browser。

如何让 H2 指向正确的方向,这样我就不必每隔几个月就挖出 lsof?

文档没有说明它是如何工作的,这让我很烦,所以我去阅读了 H2 源代码。有几种设置浏览器的方法:

  1. 作为 java 属性 h2.browser.
    例如:java -Dh2.browser=/usr/bin/chromium-browser -jar h2-1.3.174.jar
  2. 作为环境变量浏览器。
    例如:export BROWSER=/usr/bin/chromium-browser

默认情况下 Windows 它将尝试任何设置来处理 URL (rundll32)。在 MAC 上,它将尝试 Safari。对于其他所有内容(通常 Linux),它将尝试 运行 以下命令:

"chromium", "google-chrome", "firefox", "mozilla-firefox",
"mozilla", "konqueror", "netscape", "opera", "midori" 

如果所有这些都失败了,那么它将打印错误消息:

Browser detection failed and system property h2.browser not set

由于我的 (KUbuntu) Linux 安装使用 chromium-browser,因此失败。