我使用Jetty启动一些Web应用程序,这些应用程序连接到HSQLDB服务器上的基于文件的数据库。这些数据库文件位于目录中,project/hsqldb-1.8.0.10/hsqldb/
而我的webapp位于project/jetty/webapps/
。
要连接到数据库,我需要设置的属性url
的org.apache.commons.dbcp.BasicDataSource
。我需要使用相对路径,因为所有目标都是在每台计算机上部署我的Web应用程序,因此目录将位于不同的位置,但始终位于project/
。
这是我的第一次尝试:
<property name="url" value="jdbc:hsqldb:file:../../hsqldb-1.8.0.10/hsqldb/myDatabase"/>
我曾经../../
作为jetty/webapps/
被放置在project
目录中。但这是行不通的,因为Webapp找不到用户,所以身份验证失败。显然,这是因为它没有连接到正确的数据库。
如何正确设置相对路径?
找不到数据库文件,因为起始目录不是jetty/webapps/
,这是启动Jetty的目录。
就我而言,我做到了:
cd jetty
java -jar start.jar
因此,正确的相对路径是:
jdbc:hsqldb:file:../hsqldb-1.8.0.10/hsqldb/myDatabase
那解决了问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句