INIT = RUNSCRIPT和相对路径的问题

Max*_*AMM 46 java configuration maven-2 hibernate h2

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

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

database.url=jdbc:h2:mem:;INIT=RUNSCRIPT FROM 'src/main/resources/scripts/create.sql';
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢

vik*_*tnk 92

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

有了这个,就可以从classpath运行脚本.所以你可以在你的maven(或其他)项目中添加src/main/resources/scripts或src/test/resources/scripts.