You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Quarkus应用中开启并访问H2控制台?

解决Quarkus应用中H2控制台无法访问的问题

核心问题

你当前的配置缺少Quarkus官方提供的H2控制台扩展,手动配置web.xml的方式在Quarkus轻量部署模型下无法生效,这是控制台访问失败的主要原因。

步骤1:添加Quarkus H2控制台依赖

在pom.xml中加入以下依赖,替换手动配置servlet的方式:

<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-h2-console</artifactId>
    <!-- 和你的Quarkus版本保持一致,比如你用的3.9.1 -->
    <version>3.9.1</version>
    <!-- 建议仅在开发环境启用,生产环境注释掉 -->
    <scope>runtime</scope>
</dependency>

步骤2:修改application.properties配置

更新配置文件,补充H2控制台的启用和路径配置:

# 保留原有数据库配置
quarkus.datasource.db-kind = h2
quarkus.datasource.username = sa
quarkus.datasource.jdbc.url=jdbc:h2:file:./src/main/resources/ras;AUTO_SERVER=TRUE

# H2控制台配置
quarkus.h2.console.enabled=true
# 设置控制台访问路径,默认值为/h2-console
quarkus.h2.console.path=/h2-console
# 允许外部访问(仅开发环境使用,生产环境禁用)
quarkus.h2.console.web-allow-others=true

备注:AUTO_SERVER=TRUE参数可避免H2文件数据库的连接冲突,确保应用和控制台能同时访问数据库。

步骤3:移除无效的web.xml

删除你在META-INF/resources下创建的web.xml文件,Quarkus的quarkus-h2-console扩展会自动处理servlet映射和控制台资源加载。

步骤4:访问H2控制台

启动Quarkus应用后,访问http://localhost:9001/h2-console(如果你的应用端口为9001)。登录时,JDBC URL需与配置的quarkus.datasource.jdbc.url完全一致,用户名填sa,密码留空(未配置密码),即可进入控制台查看数据库。

额外注意事项

  • 使用Quarkus开发模式(quarkus dev)时,控制台会自动启用;生产环境建议关闭控制台,避免安全风险。
  • 确保Quarkus版本与依赖版本一致,避免兼容性问题。

内容的提问来源于stack exchange,提问作者vishal murarkar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 03:12:57