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 源代码。有几种设置浏览器的方法:
- 作为 java 属性 h2.browser.
例如:java -Dh2.browser=/usr/bin/chromium-browser -jar h2-1.3.174.jar
- 作为环境变量浏览器。
例如: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
,因此失败。
我一直在毫无问题地访问 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 源代码。有几种设置浏览器的方法:
- 作为 java 属性 h2.browser.
例如:java -Dh2.browser=/usr/bin/chromium-browser -jar h2-1.3.174.jar
- 作为环境变量浏览器。
例如: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
,因此失败。