我正在使用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}吗?