是否可以在 Java Web 应用程序的 context.xml 文件中使用 SQLite 数据库文件的相对路径?
目前,我有:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/mywebapp">
<Resource name="jdbc/mydb" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="myusername" password="mypassword" driverClassName="org.sqlite.JDBC"
url="jdbc:sqlite://Users/me/NetBeansProjects/MyApp/web/my.db"/>
</Context>
如您所见,Resource 标签的 url 属性当前指定了 my.db 的绝对路径。但是,我正在与一个小型开发团队一起开发这个项目作为一个类项目。我们通过 Subversion 共享代码,目前,每次我们更新项目时,我们都必须手动将上述路径替换为我们计算机的正确路径。
提前致谢。
更新:似乎相对路径不是相对于 context.xml 文件,而是相对于 CATALINA_HOME。不幸的是,该目录(Tomcat 所在的位置)位于另一个用户的主文件夹 (1) 中,我对其只有读取权限:
(1) /home/myprof/Tomcat/bin/
(2) /home/me/NetBeansProjects/MyApp/web/my.db
我不能在相对路径中包含 /me,因为如上所述,该项目将通过 svn 存储库在多台计算机上运行,并且包含项目文件的目录 (2) 将更改。但是,由于所有帐户都在共享虚拟网络上,因此 CATALINA_HOME (1) 不会更改。
另外,如何从上面的 servlet 中的 context.xml 文件获取数据库文件 my.db 的路径?