java - INIT=RUNSCRIPT 和相对路径的问题

标签 java hibernate maven-2 configuration h2

我对源路径(src/main src/test)使用 maven 约定,并且我在 src/main/resources/scripts 中有我的 sql 脚本。

我想用 H2 内存运行我的应用程序,我想使用 jdbc url 来初始化我的数据库:

database.url=jdbc:h2:mem:;INIT=RUNSCRIPT FROM 'src/main/resources/scripts/create.sql';

我的问题是这个相对路径 (src/main/... ) 不起作用,如果 init=runscript 命令没有任何目标,H2 也不会崩溃。

有人知道我应该使用什么路径来完成这项工作吗?

谢谢

最佳答案

您可以使用以下网址:
"jdbc:h2:mem:sample;INIT=RUNSCRIPT FROM 'classpath:scripts/create.sql'"

有了它,就可以从类路径运行脚本。所以你可以把它 src/main/resources/scripts 或 src/test/resources/scripts 放在你的 maven(或其他)项目中。

关于java - INIT=RUNSCRIPT 和相对路径的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4490138/

相关文章:

java - Android 中的 Imageview 和 OutOfMemory

java - 如何在Android中的SQLite数据库中查找TEXT或VARCHAR类型的特定列占用的内存(大小)?

java - 持久化多个实体及其关系(Cascade.All/ManyToMany)

java - 为什么import javax.servlet.* 会出错?

java - 如何将数组传递给另一个类

java : Read last n lines of a HUGE file

java - 使用 URL 键/值样式参数的 Hibernate 查询限制

Hibernate 有效,但在通过 Web 服务调用时无效

bash - 如何在bash命令行获取Maven项目版本

Maven - 在项目之间共享库