【问题标题】:Upgrading to Struts 2.3.32. Getting null pointer exception with getBaseTilesDefinitionURLs升级到 Struts 2.3.32。使用 getBaseTilesDefinitionURLs 获取空指针异常
【发布时间】:2017-03-14 16:00:02
【问题描述】:

我正在将现有应用程序升级到 Struts 2.3.32,当我将应用程序添加到 WebSphere 7.0 服务器时,我收到以下错误。

 [3/14/17 10:43:28:135 CDT] 00000032 WASSessionCor I SessionContextRegistry getSessionContext SESN0176I: Will create a new session context for application key default_hostllr
 [3/14/17 10:43:28:198 CDT] 00000032 StrutsTilesLi I com.opensymphony.xwork2.util.logging.commons.CommonsLogger info Starting Struts Tiles 2 integration ...
 [3/14/17 10:43:28:276 CDT] 00000032 webapp        E com.ibm.ws.webcontainer.webapp.WebApp notifyServletContextCreated SRVE0283E: Exception caught while initializing context: {0}
                             java.lang.NullPointerException
at org.apache.tiles.util.URLUtil.getBaseTilesDefinitionURLs(URLUtil.java:54)
at org.apache.struts2.tiles.StrutsTilesContainerFactory.getSourceURLs(StrutsTilesContainerFactory.java:229)
at org.apache.tiles.factory.BasicTilesContainerFactory.createLocaleDefinitionDao(BasicTilesContainerFactory.java:298)
at org.apache.tiles.factory.BasicTilesContainerFactory.createDefinitionsFactory(BasicTilesContainerFactory.java:242)
at org.apache.tiles.factory.BasicTilesContainerFactory.createContainer(BasicTilesContainerFactory.java:104)
at org.apache.tiles.startup.AbstractTilesInitializer.createContainer(AbstractTilesInitializer.java:124)
at org.apache.tiles.startup.AbstractTilesInitializer.initialize(AbstractTilesInitializer.java:70)
at org.apache.tiles.web.startup.AbstractTilesListener.contextInitialized(AbstractTilesListener.java:62)

我已添加(或更新)到应用程序的 jar 文件是:

WEB-INF文件夹的lib中的所有jar文件为:

【问题讨论】:

  • 如果您的磁贴定义被命名为tiles*,那么您不需要 web.xml 中磁贴定义的路径。

标签: struts2 tiles websphere-7


【解决方案1】:

根据我对 Aleksandr M 评论的理解,我从 web.xml 文件中删除了以下几行。

<context-param>
    <param-name> org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG</param-name>
    <param-value>/WEB-INF/tiles/tiles.xml,/WEB-INF/tiles/gis-tiles.xml </param-value> 
</context-param>

我不再得到空指针异常。我还有其他问题正在解决,但这似乎解决了我最初询问的问题。

编辑:根据 Aleksandr 在对此答案的评论中提供的链接,我发现问题是文件 WEB-INF/tiles/gis-tiles.xml 不存在,因此我将其从 &lt;param-value&gt; 元素中删除。

【讨论】:

  • 在此修复后,我必须再添加一个 jar 文件,并且应用程序正在运行。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多