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
上記のように、このプロジェクトは svn リポジトリを介して複数のコンピューターで実行され、プロジェクト ファイルが含まれるディレクトリ (2) が変更されるため、/me を相対パスに含めることはできません。ただし、すべてのアカウントが共有仮想ネットワーク上にあるため、CATALINA_HOME (1) は変更されません。
また、サーブレット内の上記の context.xml ファイルからデータベース ファイル my.db へのパスを取得するにはどうすればよいですか?