由于 Spring 启动应用程序提供了一个属性来设置 H2 数据库的 Web 控制台 URL。
spring.h2.console.path=/h2
有没有办法在 Quarkus 应用程序中设置相同的属性?如果不是,那么默认值是什么
Web 控制台 URL。
最佳答案
是的,有办法。但这并不像在 Spring Boot 中那么简单,因为 Quarkus 没有像 Spring Boot 那样对 H2 提供一流的支持。
首先,您需要activate Servlet support in Quarkus .然后,您继续在 web.xml
中配置 H2 servlet。部署描述符或在 undertow-handlers.conf
中如果你熟悉它。
开始了:
quarkus-jdbc-h2
添加扩展 quarkus-vertx
和 quarkus-undertow
扩展 src/main/resources/META-INF/web.xml
下创建部署描述符<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>My Web Application</display-name>
<servlet>
<servlet-name>h2-console</servlet-name>
<servlet-class>org.h2.server.web.WebServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>h2-console</servlet-name>
<url-pattern>/h2/*</url-pattern>
</servlet-mapping>
</web-app>
运行 ./mvnw quarkus:dev
然后转至 http://localhost:8080/h2
控制台应该出现的地方。如果您需要设置参数,请使用
<init-param>
例如:<servlet>
<servlet-name>h2-console</servlet-name>
<servlet-class>org.h2.server.web.WebServlet</servlet-class>
<init-param>
<param-name>webAllowOthers</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
http://www.h2database.com/html/tutorial.html#usingH2ConsoleServlet
关于h2 - 如何在 Quarkus 应用程序中设置 H2 数据库控制台 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61853691/