我对源路径(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/