我有同样的问题。用户@joelittlejohn提供了答案,答案是添加标志-ifNotExists。但是我不知道在哪里添加标志。我不能添加评论,因为它需要50分。我是新会员,我没有50分。所以我必须在这里问。
我正在学习有关将H2与Spring Boot结合使用的教程。我应该在哪里将-ifNotExists标志添加到h2 start命令?是将其添加到application.properties文件还是其他地方?
我也尝试了独立版本。如何添加标志?我添加到h2.bat,但这不起作用。我应该在哪里添加它?
org.xml.sax.SAXParseException: The entity "Sigma" was referenced, but not declared.
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source) ~[DOMParser.class:na]
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) ~[DocumentBuilderImpl.class:na]
答案 0 :(得分:1)
-ifNotExists
是Server工具的命令行参数。 Console不支持该选项。您应该这样更改bat文件:
@java -cp "h2-1.4.199.jar;%H2DRIVERS%;%CLASSPATH%" org.h2.tools.Server -ifNotExists
要使用Spring Boot在服务器模式下启动H2,请参阅此帖子How to enable H2 Database Server Mode in Spring Boot。您可以通过以下选项:
public Server h2Server() throws SQLException {
return Server.createTcpServer("-ifNotExists", "-tcpAllowOthers", ...);
}
您仍然可以在嵌入式模式下运行H2,在这种情况下,默认情况下应创建数据库。