我使用Jetty启动一些连接到HSQLDB服务器上基于文件的数据库的webapp。这些数据库文件位于project/hsqldb-1.8.0.10/hsqldb/
目录中,我的webapps位于project/jetty/webapps/
。
要连接到数据库,我需要设置url
的属性org.apache.commons.dbcp.BasicDataSource
。我需要使用相对路径,因为所有这一切的目标是在每台计算机上部署我的webapps,因此目录将位于不同的位置,但始终位于project/
。
这是我的第一次尝试:
<property name="url" value="jdbc:hsqldb:file:../../hsqldb-1.8.0.10/hsqldb/myDatabase"/>
我将../../
用作jetty/webapps/
放在project
目录中。但它不起作用,识别失败,因为webapp没有找到用户。显然,这是因为它没有连接到正确的数据库。
如何正确设置相对路径?
答案 0 :(得分:0)
找不到数据库文件,因为起始目录不是jetty/webapps/
,它是Jetty启动的目录。
在我的情况下,我做了:
cd jetty
java -jar start.jar
所以,正确的相对路径是:
jdbc:hsqldb:file:../hsqldb-1.8.0.10/hsqldb/myDatabase
解决了这个问题。