如何查看WebLogic部署计划的结果

如何查看WebLogic部署计划的结果,weblogic,weblogic-10.x,Weblogic,Weblogic 10.x,我试图使用weblogic部署计划将init param值添加到供应商提供的.war文件的web.xml中 虽然我意识到我可以打开.war文件并编辑其中的文件,但我更愿意使用部署计划来完成这项工作,因为我需要将.war文件部署到多个服务器上,这些服务器的init参数值不同 我已经在网上找到了很多这样做的例子,但我的努力没有成功。我认为,如果我能看到部署计划对我部署的war文件的影响,我将能够快速找出我做错了什么 在应用部署计划后,我是否有办法查看weblogic(10.3.3)应用程序的运行时部

我试图使用weblogic部署计划将init param值添加到供应商提供的.war文件的web.xml中

虽然我意识到我可以打开.war文件并编辑其中的文件,但我更愿意使用部署计划来完成这项工作,因为我需要将.war文件部署到多个服务器上,这些服务器的init参数值不同

我已经在网上找到了很多这样做的例子,但我的努力没有成功。我认为,如果我能看到部署计划对我部署的war文件的影响,我将能够快速找出我做错了什么


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

不久前,我花了一些时间对此进行了研究,尽管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);
        }
    }
if(log.isTraceEnabled()){
最终枚举名称=context.getInitParameterNames();
while(names.hasMoreElements()){
final String key=names.nextElement();
最终字符串值=context.getInitParameter(键);
trace(“Init参数'{}'='{}',键,值);
}
}
(使用slf4j进行记录)


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

在12.2.1中,有一个DebugDeploymentPlan服务器调试设置,如果启用,服务器会记录如下内容

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