首先要提到 - 我已经启动并运行了一切。我所做的唯一更改是在代码中添加了更多存储库。
然后我得到:
15:47:58.126 [pool-2-thread-4] 错误 imhsnetty.RoutingInBoundHandler - 发生意外错误:无法为类的参数 [sessionFactory] 注入值:io.micronaut.transaction.hibernate5.HibernateTransactionManager
消息:对于给定的限定符,不存在 [org.hibernate.SessionFactory] 类型的 bean:@Named('default')。确保 bean 没有被 bean 要求禁用(启用跟踪日志以检查 'io.micronaut.context.condition'),如果启用了 bean,则确保将类声明为 bean 并启用注释处理(对于 Java 和Kotlin 的“micronaut-inject-java”依赖项应配置为注解处理器)。采用的路径:新 HibernateTransactionManager([SessionFactory sessionFactory],DataSource dataSource,Interceptor entityInterceptor)io.micronaut.context.exceptions.DependencyInjectionException:无法为类的参数 [sessionFactory] 注入值:io.micronaut.transaction.hibernate5.HibernateTransactionManager
我查了很多关于这个的文章,但他们都提到了依赖。但我没有改变我的依赖。于是我开始调查。但到现在都没有成功。
我仔细检查了我的 gradle.build
kapt 'io.micronaut.data:micronaut-data-processor:1.0.2'
implementation 'io.micronaut.data:micronaut-data-hibernate-jpa:1.0.2'
implementation 'io.micronaut.configuration:micronaut-jdbc-hikari'
runtime 'org.postgresql:postgresql:42.2.12'
testImplementation 'com.h2database:h2:1.4.200'
我还确保我使用了正确的版本,但单元测试不会运行。
将 Gradle 6.4.1 与 micronaut 1.3.5 一起使用,显然数据 1.0.2 与 jpa 一起使用。有任何想法吗?
还激活了条件跟踪,但没有关于 sessionfactory。只是一些弹簧的东西,但我不使用弹簧,所以我认为它还可以。
15:47:39.037 [Test worker] DEBUG i.m.context.condition.Condition - Bean [io.micronaut.jdbc.spring.$DataSourceTransactionManagerFactory$TransactionAwareDataSourceListener1Definition] will not be loaded due to failing conditions:
15:47:39.038 [Test worker] DEBUG i.m.context.condition.Condition - * Class [org.springframework.jdbc.datasource.DataSourceTransactionManager] is not present
任何想法..因为这让我有点疯狂:D
奥利弗