除了$ {user.home}之外,我可以在Tomcat context.xml文件中使用哪些表达式?

时间:2013-11-24 09:29:56

标签: java sqlite tomcat

我正在使用Tomcat 8.0,在我的$ CATALINA_HOME / conf / server.xml文件中,我可以使用$ {user.home}等表达式来指定文件的位置。例如,以下配置有效,并将查看运行Tomcat的用户的主目录中的.keystore文件:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
           maxThreads="150" scheme="https" secure="true"
           keystoreFile="${user.home}/.keystore" keystorePass="changeit"
           clientAuth="false" sslProtocol="TLS" />

现在我正在尝试在我的Web应用程序META-INF / context.xml文件中将DataSource配置为sqlite数据库,如下所示:

  <Resource name="jdbc/database"
            type="javax.sql.DataSource"
            driverClassName="org.sqlite.JDBC"
            url="jdbc:sqlite:/absolute/path/to/my/db/database.db">

我读过“url”属性中指定的值是相对于$ CATALINA_HOME目录的。所以我只能指定$ CATALINA_HOME子目录的路径。因为我的数据库不在$ CATALINA_HOME目录下,所以我正在寻找一种方法来动态设置URL或使用相对于我的Web应用程序的路径。

例如,如果我的Web应用程序具有以下布局:

/绝对/路径/到/我/网络/应用/

/绝对/路径/到/我/网络/应用/ WEB-INF

/absolute/path/to/my/web/application/WEB-INF/db/database.db

如何让Tomcat使用相对路径找到我的数据库或者在外部指定路径?

是否有一个类似于$ {user.home}的表达式列表,我可以从中选择哪个可能有效?除了$ {user.home}之外,还有哪些其他变量可用于Tomcat?我可以从context.xml文件中读取任何环境变量吗?例如,如果我有一个名为“db_path”的环境变量,我可以使用$ {user.db_path}吗?

0 个答案:

没有答案