1

我正在尝试将战争文件部署到 Weblogic 10.3.5 中,但它现在可以正常工作。在 Tomcat 7 中成功部署了相同的文件,并且应用程序运行正常。

但是,当我尝试使用部署计划的默认设置等在 Weblogic 中部署它时,它会在我拥有的 ServletContextListener 实现中引发 NullPointerException 错误。我的问题是:我是否需要更改应用程序中的某些内容,例如添加 weblogic.xml 文件?我需要别的东西吗?

我注意到,如果我将我的部署指向包含爆炸战争内容的文件夹,应用程序运行时会出现一些错误,但至少主屏幕可以正常打开(它是基于小程序的应用程序)。

**更新

这是我尝试启动应用程序时遇到的异常。

####<Oct 29, 2012 5:27:12 AM PDT> <Warning> <HTTP> <ip-0A2E9E72> <AdminServer> 
<[STANDBY] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'> 
<<WLS Kernel>> <> <> <1351513632838> <BEA-101162> 
<User defined listener artemispm.web.ui.gwt.server.A7WebStartupListener failed: 
java.lang.NullPointerException.java.lang.NullPointerException
at java.util.Hashtable.put(Hashtable.java:394)
at java.util.Properties.setProperty(Properties.java:143)
at java.lang.System.setProperty(System.java:729)
4

1 回答 1

2

好的,我弄清楚了问题所在。当我尝试调用时,Weblogic 返回 null

String path = servletContextEvent.getServletContext().getRealPath("/");

然后我试图将该路径变量添加到系统属性中,并且根据 java 文档,当我们尝试将空值添加到 HashMap 时,它会抛出 NullPointerException。

因此,为了使 Web 应用程序能够检索真实路径,我们需要从 Weblogic 的域中配置一个属性。我去了 Weblogic 的控制台,然后单击域名 -> Web 应用程序选项卡。找到 Archived Real Path Enabled 选项并检查它。您需要重新启动服务器。

谢谢大家,

于 2012-10-31T17:32:11.260 回答