Tomcat 如何在context.xml中将参数用作数据源位置?

Tomcat 如何在context.xml中将参数用作数据源位置?,tomcat,tomcat7,Tomcat,Tomcat7,我将数据库url硬编码在my context.xml(tomcat 7)中: 这指向每个环境中的不同主机(dev/test/production/etc…) 是否可以将其设置为参数或环境变量,以便开发人员不需要手动将其添加到其主机文件中?您可以使用${propname}语法来引用context.xml中的系统属性 context.xml: url=“jdbc:mysql://${propname}:3306/ebdb” VM参数: -Dpropname=yourhost 有关tomcat的$

我将数据库url硬编码在my context.xml(tomcat 7)中:


这指向每个环境中的不同主机(dev/test/production/etc…)


是否可以将其设置为参数或环境变量,以便开发人员不需要手动将其添加到其主机文件中?

您可以使用
${propname}
语法来引用context.xml中的系统属性

context.xml:

url=“jdbc:mysql://${propname}:3306/ebdb”

VM参数:

-Dpropname=yourhost

有关tomcat的${propname}语法支持,请参阅以下文档:


希望这能有所帮助。

这太棒了,几乎成功了。。是否可以默认为localhost?(拍摄零形态)据我所知,没有办法设置默认值。
<Context path="">
    <Resource name="jdbc/MyDataSource" 
        auth="Container" 
        type="javax.sql.DataSource"
        url="jdbc:mysql://my.database:3306/ebdb"/>

    <!-- Realm and other cfg--> 
</Context>