此规则将标记
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 文件:
<Parameter
description="Trigger because it does not exist"
name="newEntry"
override="false"
值 = "abc123" />
<Parameter
description="Trigger because of different value"
name="parameter_1"
override="false"
值 = "新值" />
<Parameter
description="Will not trigger because of override set to true"
name="parameter_2"
override="true"
值 = "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 中上下文参数的更多信息,请参阅: