当前位置: 首页 > 知识库问答 >
问题:

在Spring Boot CLI中使用H2时未解决的依赖关系

柳梓
2023-03-14

我正在尝试使用Spring Boot CLI(1.5.7)实现一个使用h2数据库的小型REST服务。但解决依赖关系并不奏效。我得到一个错误:“由以下原因引起:org.springframework.beans.factory.UnsatisfiedDependencyException”。。。“工厂方法‘dataSource’引发异常;嵌套异常为org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException:无法确定数据库类型NONE的嵌入式数据库驱动程序类”

@Grab("h2")

import java.sql.ResultSet

class ContactRepository {
  @Autowired
  JdbcTemplate jdbc

  List<Contact> findAll() { ... }
}

我以为使用@Grab("h2")Spring Boot会将类/jar添加到类路径中。我找不到很多关于Spring Boot CLI(不是云版本)的来源。我将非常感谢一些帮助。

共有2个答案

岳毅
2023-03-14

不确定,但可能您的类必须标记为Spring托管类,即将@Repository@Component(没关系)添加到您的ContactRepository类。

禄奇希
2023-03-14

添加

<dependency>
    <groupId>org.hsqldb</groupId>
    <artifactId>hsqldb</artifactId>
    <scope>test</scope>
</dependency>

在您的pom中,模块和Spring引导将自动检测类路径上的hsqldb。

 类似资料:
  • 谁能告诉我Maven中的依赖项Hamcrest有什么问题吗?这是一个遗憾,但我不能在这里附上截图。 当我试图更新Maven索引时,什么也没有发生。

  • 我想下载使用ivy的工件:解决,但使用使用[conf]属性的模式。所以我在IvyS中定义了以下内容ettings.xml 注意这个模式 现在可以很好地解决依赖关系,但只为配置创建了一个文件夹:默认。没有为ConfGroup1创建文件夹 另外,我知道这可以通过使用ivy:retrieve实现,但我不想使用它,因为它将涉及将工件从ivy缓存复制到ivy:resolve之后的另一个地方,我有价值数十亿字

  • 我对ivy没有解析我的一些依赖关系有问题。以下是我如何重现这个问题的: 我在eclipse中有一个空的java项目。我已经在我的项目中添加了ivy.xml: 这工作正常,ivy能够解决和下载口水。 如果我将修订版更改为6.3.0.Final(http://mvnrepository.com/artifact/org.drools/drools-core/6.3.0.Final),它将不起作用,我看

  • 我正在使用intellij并遵循此文档: https://www.playframework.com/documentation/2.5.x/Migration25 我更改了插件。sbt如下: 然后它就卡住了: 我检查了这个存储库,没有2.5.3版本。 我做错了什么? 这是我的身材。sbt: 名称:="播放" 版本:="1.0" lazy val播放(文件中的项目(“.”)。enablePlugi

  • 正如spark文档所述,我运行来构建spark 1.6.2,但出现如下错误: [信息]正在更新{file:/home/charlielin/workspace/spark-1.6.2/}网络-洗牌...[info]解决org.fusesource.jansi#jansi;1.4...[警告]::::::::::::::::::::::: 未解决的依赖关系:::[警告]:::::::::::::::

  • 我试图修改我们现有的CDI扩展,它创建自己的代理bean。现在只有一个为每个服务创建的代理。服务有类似于应用程序范围的东西,所以服务总是只有一个实例。 我想要完成的是为每个注入点创建一个代理bean。我需要它们来存储特定于给定注射点的一些信息。如果同一个服务有更多的注入点,那么将有更多的代理bean,但它们后面仍然有一个服务实例。但是,当我以这种方式更改行为时,Weld会抱怨不明确的依赖关系,因为