【发布时间】:2021-05-07 21:03:47
【问题描述】:
我正在尝试使用 JPA 和 H2 嵌入式数据库来学习 Spring-Boot。 我创建了一个 repo 来复制我的问题 available on github。 它基于教程;来源找到here。
我的最终状态是使用以下所有方法将其作为单模块项目运行:
- mvn spring-boot:run
- 在 Intellij 中从目标运行 jar
- 在 Intellij 中运行 main() 方法
目前 main() 方法的作用与其他两种方法不同,但我不知道为什么。
如果我删除 module-info.java 文件,那么所有方法都会退出 0。我知道我可以忽略它,但我想在这里学习, 所以我想知道发生了什么。
Intellij 构建信息:
IntelliJ IDEA 2020.3.2(社区版)Build #IC-203.7148.57, 建于 2021 年 1 月 26 日
设置了 jdk 15 但没有 module-info.java:
- 以 Intellij 运行配置运行。退出代码为 0。
- 使用 mvn spring-boot:run 运行。退出代码为 0。
- 运行罐子。退出代码为 0。
将以下module-info.java 文件添加到/src/main/java:
module demo {
exports com.example.accessingdatajpa;
opens com.example.accessingdatajpa;
requires org.slf4j;
requires spring.boot;
requires spring.boot.autoconfigure;
requires spring.context;
requires spring.data.commons;
requires java.persistence;
requires java.sql;
}
通过在 intellij 中运行 main() 来运行应用程序并获得退出 1:
c.e.a.AccessingDataJpaApplication : 使用 Java 15.0.2 启动 AccessingDataJpaApplication ...
c.e.a.AccessingDataJpaApplication : 未设置活动配置文件,回退到默认配置文件:默认
.s.d.r.c.RepositoryConfigurationDelegate : 在默认模式下引导 Spring Data JPA 存储库。
.s.d.r.c.RepositoryConfigurationDelegate :在 166 毫秒内完成 Spring Data 存储库扫描。找到 1 个 JPA 存储库接口。
o.s.j.d.e.EmbeddedDatabaseFactory:启动嵌入式数据库:url='jdbc:h2:mem:3cb47b25-69e1-4122-bc0f-69447d509171;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=false', username='sa'
s.c.a.AnnotationConfigApplicationContext : 上下文初始化期间遇到异常 - 取消刷新尝试:
org.springframework.beans.factory.BeanCreationException:在类路径资源 [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class] 中定义名称为“entityManagerFactory”的 bean 创建错误:调用 init 方法失败;嵌套异常是 javax.persistence.PersistenceException: Unable to resolve persistence unit root URL
o.s.j.d.e.EmbeddedDatabaseFactory:关闭嵌入式数据库:url='jdbc:h2:mem:3cb47b25-69e1-4122-bc0f-69447d509171;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=false'
作为 jar 或使用 mvn spring-boot:run 运行并获取退出代码 0:
... c.e.a.AccessingDataJpaApplication : 在 ... 上使用 Java 15.0.2 启动 AccessingDataJpaApplication v0.0.1-SNAPSHOT ... c.e.a.AccessingDataJpaApplication :没有活动的配置文件集,下降>回到默认配置文件:默认
... .s.d.r.c.RepositoryConfigurationDelegate : 引导 Spring Data JPA 默认模式下的存储库。
... .s.d.r.c.RepositoryConfigurationDelegate : 完成 Spring 数据存储库 扫描时间为 126 毫秒。找到 1 个 JPA 存储库接口。
... com.zaxxer.hikari.HikariDataSource : HikariPool-1 - 已启动。
... o.hibernate.jpa.internal.util.LogHelper:HHH000204:处理中 PersistenceUnitInfo [名称:默认]
任何帮助将不胜感激。
【问题讨论】:
标签: java spring spring-boot hibernate intellij-idea