H2数据库无法在KUbuntu 18.04

时间:2018-10-09 19:18:43

标签: ubuntu h2 chromium

我一直在毫无问题地访问H2数据库,直到我将Ubuntu 16.04 LTS升级到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>,我可以看到它正在监听的端口,并手动将Web浏览器定向到该端口。通常类似于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上,在Ubuntu 18.04(64位)上运行在/ usr / bin / chromium-browser中。

如何使H2指向正确的方向,所以我不必每隔几个月就挖出lsof?

1 个答案:

答案 0 :(得分:1)

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

  1. 作为java属性h2.browser。
    例如:java -Dh2.browser=/usr/bin/chromium-browser -jar h2-1.3.174.jar
  2. 作为环境变量BROWSER。
    例如: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,因此失败。