【问题标题】:How to view results of a WebLogic Deployment Plan如何查看 WebLogic 部署计划的结果
【发布时间】:2010-10-01 19:44:54
【问题描述】:

我正在尝试使用 weblogic 部署计划将 init-param 值添加到供应商提供的 .war 文件的 web.xml。

虽然我意识到我可以打开 .war 文件并在其中编辑文件,但我更喜欢使用部署计划来完成此操作,因为我需要将 .war 文件部署到具有不同值的多个服务器有问题的 init-param。

我在网上找到了很多关于如何做到这一点的例子,但我的努力却屡屡失败。我认为,如果我能看到部署计划对我部署的 war 文件的影响,我将能够快速找出我做错了什么。

在应用部署计划后,我有没有办法查看 weblogic (10.3.3) 应用程序的运行时部署描述符?

【问题讨论】:

    标签: weblogic weblogic-10.x


    【解决方案1】:

    前段时间我花了一些时间对此进行调查,尽管 WL10 将 WAR 解包到一个临时目录中,但它不会修改该位置的部署计划中列出的文件。我还尝试使用 getResource/getResourceAsStream 读取整个 web.xml,发现它也是原始的、未修改的文件。

    我从来没有弄清楚 WL 如何应用更改,以便它们被 ServletContext 拾取,而不会在其他任何地方可见。我的猜测是它使用了一些技巧来覆盖这些文件的加载并动态应用更改。

    在与它斗争了一段时间后,我最终确定了以下内容来列出启动时的 init 参数的值:

        if (log.isTraceEnabled()) {
            final Enumeration<String> names = context.getInitParameterNames();
            while (names.hasMoreElements()) {
                final String key = names.nextElement();
                final String value = context.getInitParameter(key);
                log.trace("Init Parameter '{}' = '{}'", key, value);
            }
        }
    

    (使用 slf4j 进行日志记录)

    当然,如果部署计划有问题并且没有设置值,这也无济于事,但这是我能想到的最好的办法。

    【讨论】:

      【解决方案2】:

      在 12.2.1 中有一个 DebugDeploymentPlan 服务器调试设置,如果打开,服务器会记录类似的内容

       <After applying the overrides from the deployment plan, the descriptor "META-INF/ejb-jar.xml" is:
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-05
        相关资源
        最近更新 更多