最好的解决方案是不使用warfile。将所有内容复制到指定目录(即\user\abc
),然后您可以通过两种方式配置所有上下文。
每个要映射的上下文都有一个 xml,方法是将其放入您的: %CATALINA_HOME%\conf\Catalina\localhost
. 请记住,xml 文件的名称将是您的 webapp 的映射,但您可以使用path
xml 中的属性重新定义它。在您的情况下,您必须生成abc.xml
, abc1.xml
,abc2.xml
并且它们的内容应该类似于:
abc.xml
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="\user\abc" path="abc" reloadable="false"/>
abc1.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="\user\abc" path="abc1" reloadable="false"/>
您可以%CATALINA_HOME%\conf\server.xml
通过在标签内插入<Host ...>
上下文定义来直接编辑,如下所示:
<Host ...>
<Context docBase="\user\abc" path="abc" reloadable="false"/>
<Context docBase="\user\abc" path="abc1" reloadable="false"/>
</Host>
如果您需要为上下文提供数据库数据源信息,只需将标签 Resource 添加到上下文定义本身(在 xml 文件或 server.xml 中),这里有一个示例:
<Context docBase="\user\abc" path="abc" reloadable="false">
<Resource auth="Container" description="DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
maxActive="4"
maxIdle="2"
maxWait="5000"
name="jdbc/myJNDIname"
password="mypass"
type="javax.sql.DataSource"
url="jdbc:oracle:thin:@host:port:SID"
username="myuser"/>
</Context>
如果您需要最后一部分,显然只需将它用于您想要复制的每个上下文。
希望能帮助到你。