Play框架下启动H2数据库浏览器问题
我目前正在使用Play Framework,在启动H2数据库浏览器时遇到了一个问题。下面是背景:
*以前设置:
- 我使用以下命令使用终端启动H2数据库浏览器:
sbt
h2-browser
run
*切换到IntelliJ:
- 后来我将Play应用程序配置为从IntelliJ运行,这改进了我的开发工作流程。
*H2浏览器配置: - 然而,我在IntelliJ中启动H2数据库浏览器时遇到了一个挑战。为了解决这个问题,我转向ChatGPT寻求帮助。
*添加H2依赖项: - 我将H2依赖项添加到
build.sbt
文件中,如下所示:
libraryDependencies += "com.h2database" % "h2" % "2.1.214"
lazy val startH2Browser = taskKey[Unit]("Starts the H2 Browser")
startH2Browser := {
println("Starting H2 Browser...")
org.h2.tools.Server.createWebServer("-web", "-webAllowOthers", "-webPort","8082").start()
}
playRunHooks += {
new play.sbt.PlayRunHook {
override def beforeStarted(): Unit = {
startH2Browser.value
}
}
}
*遇到错误:
- 不幸的是,当我尝试启动H2浏览器时,我遇到了以下错误:
build.sbt:55: error: object h2 is not a member of package org
org.h2.tools.Server.createWebServer("-web", "-webAllowOthers", "-webPort", "8082").start()
^
[error] Type error in expression
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore?
*H2套餐确认:
- 我想确认SBT已经成功索引并下载了H2软件包。
有人能告诉我如何正确导入build.sbt
文件中的H2依赖项并解决这个问题吗?
1条答案
按热度按时间pokxtpni1#
您需要将依赖项添加到“Meta项目”。
SBT使用代码来构建您的应用程序。此代码本身是“托管”的,并由
project/
文件夹中的“Meta项目”构建。(需要说明的是,这是递归的,元项目可以有其元元项目等等!)要在
build.sbt
中提供依赖项,您需要添加一个文件project/build-dependencies.sbt
(名称无关紧要,但扩展名重要),其依赖项如下所示:字符串
然后你可以删除你在
build.sbt
中添加的同一行。我猜你已经在Test
范围内对应用程序本身有了依赖。