0

我阅读了很多关于 Weblogic 在部署期间更改 web.xml 的能力。

功能性,这很好用:在我的web.xml我有一堆 env 条目:

<env-entry>
    <env-entry-name>config/fileservice/outputCharacterSet</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
</env-entry>

并在plan.mxl

<variable>
    <name>config/fileservice/outputCharacterSet</name>
    <value>UTF-8</value>
    <description>Specify the output character set to be used for dumping the JMS messages.
</variable>

再往下

<variable-assignment>
    <name>config/fileservice/outputCharacterSet</name>
    <xpath>/web-app/env-entry/[env-entry-name="config/fileservice/outputCharacterSet"]/env-entry-value</xpath>
    <operation>replace</operation>
</variable-assignment>

在部署期间,它就像一个魅力。

但无论我做什么,在 Weblogics 管理控制台中,这些条目永远不会出现:在部署 (WAR) > 部署计划 > 调整参数中没有显示任何内容。

甚至

<value xsi:nil="true"></value>

导致应用程序仅部署 - 之后未设置该值。但是从文档 [1] 来看,我希望在部署期间会出现某种用户对话,迫使部署者输入一些合理的值。

[1] http://docs.oracle.com/cd/E15523_01/web.1111/e13702/export.htm

4

2 回答 2

0

它仅用于“调整参数”,而不是用于修改 web.xml 本身。这只能通过 plan.xml

于 2013-05-20T15:15:55.553 回答
0

部署前是否创建了如下目录

c:\my_app_root\plan\Plan.xml
c:\my_app_root\app\xyz.war

在部署期间,您应该将 c:\my_app_root 指定为路径。据我了解,这是推荐的部署目录结构 http://docs.oracle.com/cd/E15523_01/web.1111/e13702/config.htm

至于您提到的空值问题,文档说它仅适用于外部资源,例如数据源的 JDNI 名称。您是否尝试在部署描述符和 Plan.xml 中将 JNDI 值设为空?此外,WLS 在部署过程中不提供任何用户对话框来强制部署者输入正确的值。它只是使部署失败。这就是我害怕的“力量”的意思。当然,我会为这种用户对话功能投赞成票。:-)

于 2013-02-27T16:31:42.363 回答