我一直在毫无问题地访问 H2 数据库,直到我将 Ubuntu 16.04 LTS(这对我来说是一场灾难 - Ubuntu,而不是升级)升级到 KUbuntu 18.04(工作得更好)。现在,由于我不明白的原因,H2 不会打开浏览器窗口。
我跑:
java -jar h2-1.3.174.jar -url "jdbc:h2:~/hcs/application/demo/dcdemo;DATABASE_TO_UPPER=FALSE" -user SA
这曾经在我的浏览器中打开一个窗口。现在它只是坐在那里。使用
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 上构建,在/usr 中加载的 Ubuntu 18.04(64 位)上运行/bin/ Chrome 浏览器。
如何让 H2 指向正确的方向,这样我就不必每隔几个月就挖掘 lsof 了?
最佳答案
文档没有说明这是如何工作的,它让我很烦,以至于我去阅读了 H2 源代码。设置浏览器的方法有以下几种:
例如:
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
,失败了。
关于ubuntu - H2 数据库不会在 KUbuntu 18.04 上打开浏览器页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52727938/