此规则将标记
Context <Parameter>
在 META-INF/context.xml 文件中找到的元素。
Apache Tomcat 允许
Context <Parameter>
要在这些位置中定义的元素:
- META-INF/context.xml 文件
- Tomcat conf 目录中的应用程序 XML 配置文件
- 该
<Host>
元素中的 conf/server.xml
该迁移工具仅迁移 META-INF/context.xml 文件中的参数元素。
其他位置中定义的参数信息必须复制到 META-INF/context.xml 文件,才能进行处理。
如果 WEB-INF/web.xml 存在于 Web 项目中:
Context <Parameter>
元素将在以下任一情况下被标记:
- 条目在 web.xml 文件中没有匹配的条目。
- 条目的值和 web.xml 文件中匹配条目的值不同,并且条目覆盖标志设为 false。
自动修复将添加一个新的
<context-param>
元素,该元素在 web.xml 文件中 代表
Context <Parameter>
如果该元素还不存在于 web.xml 文件中。
如果该条目已存在,那么会更新该条目。
如果 WEB-INF/web.xml 不存在:
全部
Context <Parameter>
元素将被标记。
自动修复将创建一个 WEB-INF/web.xml 文件 文件,其中包括适当的
<context-param>
元素,如果 网络项目的 Java EE 5 或更高版本。 如果网络项目 是 J2EE 1.4 或更低。
例如,考虑具有以下内容的 META-INF/context.xml 文件:
<参数
description="Trigger because it does not exist"
name="newEntry"
override="false"
value=" abc123 "/>
<Parameter
description="Trigger because of different value"
name="parameter_1"
override="false"
value="new Value"/>
<Parameter
description="Will not trigger because of override set to true"
name="parameter_2"
override="true"
value="123"/>
在应用程序中具有以下 web.xml 文件:
<context-param> 上下文参数
<description>因数值不同而触发</description>
<param-name>parameter_1</param-name>
<param-value>oldValue</param-value>
</context-param>
<context-param>
<description>由于覆盖设置为 true,因此不会触发</description>
<param-name>parameter_2</param-name>
<param-value>123456789</param-value>
</context-param>
应用自动修复后, web.xml 将更新为 包含
<context-param> 上下文参数
<description>触发是因为它不存在</description>
<param-name>newEntry</param-name>
<param-value>abc123</param-value>
</context-param>
<context-param>
<description>因数值不同而触发</description>
<param-name>parameter_1</param-name>
<param-value>新值</param-value>
</context-param>
<context-param>
<description>由于覆盖设置为 true,因此不会触发</description>
<param-name>parameter_2</param-name>
<param-value>123456789</param-value>
</context-param>
有关 Tomcat 中上下文参数的更多信息,请参阅: