Java 从jar中包含的文件初始化内存中的H2?

Java 从jar中包含的文件初始化内存中的H2?,java,h2,Java,H2,如何在一个罐子里装哪一个 目前我遇到了以下异常: testCase(CheckTest):org.h2.jdbc.JdbcSQLException:IO异常: “java.io.FileNotFoundException: /Users/user1/.m2/repository/a/3.10-SNAPSHOT/a-SNAPSHOT-tests.jar!/h2_db.sql (无该等文件或目录)”; “文件:/Users/user1/.m2/repository/a/3.10-SNAPSHOT/a

如何在一个罐子里装哪一个

目前我遇到了以下异常:

testCase(CheckTest):org.h2.jdbc.JdbcSQLException:IO异常: “java.io.FileNotFoundException: /Users/user1/.m2/repository/a/3.10-SNAPSHOT/a-SNAPSHOT-tests.jar!/h2_db.sql (无该等文件或目录)”; “文件:/Users/user1/.m2/repository/a/3.10-SNAPSHOT/a-3.10-SNAPSHOT-tests.jar!/h2_db.sql”; SQL语句:(…)

我想要初始化数据库的文件(
h2_db.sql
)位于jar文件
a-3.10-SNAPSHOT-tests.jar

代码看起来像

initSqlFile=getInitSqlFile();
//initSqlFile=“/Users/user1/.m2/repository/a/3.10-SNAPSHOT/a-SNAPSHOT-tests.jar!/h2_db.sql”
//initSqlFile是一个包含在jar中的文件,请注意“!”
url=String.format(
“jdbc:h2:mem:%s;MODE=PostgreSQL;LOCK_TIMEOUT=500;ifexists=true;INIT=runscript from'%s';DB_CLOSE_DELAY=-1;MVCC=true”,
testSuitName,initSqlFile);
//后来。。。
con=DriverManager.getConnection(url、用户、密码);
虽然这个问题可以相对容易地解决,但我想知道H2是否支持从jar文件中的文件进行初始化

或者是一个优雅的解决方案,它并不意味着临时文件



其他信息: 有一个方法可以查找资源,如果类路径中的。然后将资源的路径(
/Users/user1/.m2/repository/a/3.10-SNAPSHOT/a-SNAPSHOT-tests.jar!/h2_db.sql
)作为参数传递给该方法


@托马斯穆勒刚刚编辑了这个问题。顺便说一句,H2很棒!“你尝试了什么?”我的意思是:你能提供你使用过的源代码吗?@ThomasMueller补充了一些代码谢谢。我在浏览另一个问题时已经找到了答案
zip:/Users/user1/.m2/repository/a/3.10-SNAPSHOT/a-SNAPSHOT-tests.jar!/h2_db.sql