2

我想知道是否可以使用 h2 数据库运行声纳 3.1.1?我尝试部署配置了 h2 数据库的声纳并得到以下异常:

21-Jul-2012 23:32:45 org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class org.sonar.server.platform.PlatformLifecycleListener
org.sonar.api.utils.SonarException: Unable to determine database dialect to use within sonar with dialect null jdbc url jdbc:h2:tcp://localhost:9092/~/sonar

我搜索了一下,最可能的原因是 3.1.1 不支持 h2。是否有任何解决方法可以使用 h2 运行 3.1.1?

4

1 回答 1

5

H2 数据库未在Sonar 先决条件中列出。很遗憾,因为和您一样,我认为它优于 Apache Derby。

Sonar 团队强烈反对在生产环境中使用 Derby。我在发行说明中读到,现在禁用了 Derby 升级。除了不喜欢 Derby 之外,您还有使用 H2 的好用例吗?:-)

最初使用嵌入式数据库设置 Sonar 可能很诱人。问题是在您的组织中采用 Sonar 可能会像病毒一样传播,最终会有人开始询问备份和 DR 的那一天......这就是拥有适当的数据库将使这种过渡更容易的地方。

更新

SONAR-3622:报告支持的 H2 数据库。此支持将在 Sonar 3.2 中提供:

David Gageot 添加了评论 - 04/Jul/12 5:06 AM

最新版本更智能。h2 是 sonar>=3.2 的默认值,而 derby 是 sonar<3.2 的默认值

于 2012-07-22T12:22:09.107 回答