Java 如何在WAR文件中包含Hsql数据库?

Java 如何在WAR文件中包含Hsql数据库?,java,war,hsqldb,Java,War,Hsqldb,我正在用JAVA开发一个小应用程序,其中我使用HSQL数据库存储一些统计数据并执行一些计算,现在应用程序的需求如下 web应用程序应打包为一个自包含的可移植war文件。war应该包含它所依赖的任何/所有第三方JAR 应该可以下载一个新的tomcat,安装war,并且在没有任何配置的情况下立即使用web应用程序 所有配置参数都应具有有用的默认值 我已经开发了应用程序,但是我不能在WAR文件中包含thw HSQL数据库,我尝试了不同的教程并搜索了堆栈溢出,但我找不到任何解决方案 请告诉我如何在w

我正在用JAVA开发一个小应用程序,其中我使用HSQL数据库存储一些统计数据并执行一些计算,现在应用程序的需求如下

  • web应用程序应打包为一个自包含的可移植war文件。war应该包含它所依赖的任何/所有第三方JAR
  • 应该可以下载一个新的tomcat,安装war,并且在没有任何配置的情况下立即使用web应用程序
  • 所有配置参数都应具有有用的默认值
我已经开发了应用程序,但是我不能在WAR文件中包含thw HSQL数据库,我尝试了不同的教程并搜索了堆栈溢出,但我找不到任何解决方案


请告诉我如何在war文件中包含hsql数据库?

创建一个java类,如果不存在,则在tomcat start上创建
hsql
数据库 示例tomcat/conf的
HSQL
数据库路径:

Server server = new Server();
server.setDatabaseName(0, "test");
server.setDatabasePath(0, "file:/path/to/db");
server.start();

在HSQL方面没有特别的经验,但通常是动态创建数据库。使用从现有数据库转储的只读SQL脚本,用初始表和值填充它。或者使用JPA。war本身应被视为只读资源。我将hsql数据库文件夹放在war文件的何处?以及如何启动runServer.bat文件以在运行war文件时运行hsql服务器?这是我连接hsql数据库的url jdbc:hsqldb:hsql://localhost/The war文件包含静态代码和资源。您可以像其他jar一样包含hsqldb.jar。实际的数据库文件夹是您的数据。它不能进入war文件,除非数据是完全只读的,并且打包为一个单独的jar。