【问题标题】:Coding solution to WAR installation error (Websphere Portal 6.0)?WAR安装错误的编码解决方案(Websphere Portal 6.0)?
【发布时间】:2010-05-07 02:23:47
【问题描述】:

我有一个 Websphere Portal 应用程序,其中包含几个我目前正在对其进行一些更改的 portlet。

一周前,Rational Application Developer 生成的 WAR 文件可以毫无问题地安装在 Portal 服务器上。

昨天我对两个 JSP 文件及其关联的“页面代码”Java 文件进行了一些看似很小的更改,并且尝试更新服务器上的 WAR(使用门户网站管理 Web 界面)现在会产生错误消息。
WAR 上传工作,系统向我显示了 WAR 文件中正确的 portlet 列表,但单击“完成”给我一个带有错误消息“EJPAQ1319E:无法安装选定的 WAR 文件。查看详细信息”的页面。
单击“查看详细信息”链接会给我一个包含以下文本的页面:

EJPAQ1319E: Cannot install the selected WAR file.
com.ibm.portal.WpsException: EJPAQ1319E: Cannot install the selected WAR file.

at com.ibm.wps.portlets.portletmanager.actions.DoInstallWebModuleAction.installPortletFromFormFile(DoInstallWebModuleAction.java:633)

at com.ibm.wps.portlets.portletmanager.actions.DoInstallWebModuleAction.doExecute(DoInstallWebModuleAction.java:159)

at com.ibm.wps.portlets.adminstruts.actions.BaseAction.execute(BaseAction.java:64)

at com.ibm.wps.portlets.struts.WpsRequestProcessor.processActionPerform(WpsRequestProcessor.java:338)

at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)

at com.ibm.wps.portlets.struts.WpsStrutsPortlet.processActionPerformed(WpsStrutsPortlet.java:1947)

at com.ibm.wps.portlets.struts.WpsStrutsPortlet.actionPerformed(WpsStrutsPortlet.java:1637)

at com.ibm.wps.portlets.adminstruts.WpsAdminStrutsPortlet.actionPerformed(WpsAdminStrutsPortlet.java:261)

at com.ibm.wps.pe.pc.legacy.SPIPortletInterceptorImpl.handleEvents(SPIPortletInterceptorImpl.java:323)


EJPPE0020E: It is not allowed to install a JSR 168 compliant over a 4.x portlet application.
com.ibm.wps.command.applications.AppWarFileException: EJPPE0020E: It is not allowed to install a JSR 168 compliant over a 4.x portlet application.

WrappedException is: com.ibm.wps.pe.mgr.exceptions.InvalidWarFileException: EJPPE0020E: It is not allowed to install a JSR 168 compliant over a 4.x portlet application.

at com.ibm.wps.command.applications.AbstractApplicationsCommand.throwAppMgrException(AbstractApplicationsCommand.java:492)

at com.ibm.wps.command.applications.UpdatePortletApplicationCommand.execute(UpdatePortletApplicationCommand.java:165)

at com.ibm.wps.portlets.portletmanager.actions.DoInstallWebModuleAction.installPortletFromFormFile(DoInstallWebModuleAction.java:510)

at com.ibm.wps.portlets.portletmanager.actions.DoInstallWebModuleAction.doExecute(DoInstallWebModuleAction.java:159)

at com.ibm.wps.portlets.adminstruts.actions.BaseAction.execute(BaseAction.java:64)

at com.ibm.wps.portlets.struts.WpsRequestProcessor.processActionPerform(WpsRequestProcessor.java:338)

at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)

at com.ibm.wps.portlets.struts.WpsStrutsPortlet.processActionPerformed(WpsStrutsPortlet.java:1947)


EJPPE0020E: It is not allowed to install a JSR 168 compliant over a 4.x portlet application.
com.ibm.wps.pe.mgr.exceptions.InvalidWarFileException: EJPPE0020E: It is not allowed to install a JSR 168 compliant over a 4.x portlet application.

at com.ibm.wps.pe.mgr.AbstractApplicationManagerImpl.updateWebModule(AbstractApplicationManagerImpl.java:1338)

at com.ibm.wps.pe.mgr.AbstractApplicationManagerImpl.updateWebModule(AbstractApplicationManagerImpl.java:1255)

at com.ibm.wps.command.applications.UpdatePortletApplicationCommand.execute(UpdatePortletApplicationCommand.java:135)

at com.ibm.wps.portlets.portletmanager.actions.DoInstallWebModuleAction.installPortletFromFormFile(DoInstallWebModuleAction.java:510)

at com.ibm.wps.portlets.portletmanager.actions.DoInstallWebModuleAction.doExecute(DoInstallWebModuleAction.java:159)

at com.ibm.wps.portlets.adminstruts.actions.BaseAction.execute(BaseAction.java:64)

at com.ibm.wps.portlets.struts.WpsRequestProcessor.processActionPerform(WpsRequestProcessor.java:338)

at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)

at com.ibm.wps.portlets.struts.WpsStrutsPortlet.processActionPerformed(WpsStrutsPortlet.java:1947)

我可以通过 Google 找到的关于此错误的所有信息都在 Websphere Portal 文档中:

EJPPE0020E:不允许在 {1} portlet 应用程序上安装 {0}。
说明:包含旧 portlet 的 portlet 应用程序只能使用另一个包含遗留 portlet 的 portlet 应用程序进行更新。标准 portlet 应用程序也是如此。
用户响应:修改应用程序的 portlet.xml,使其与原始 API 类型(标准或旧式)匹配,然后重试。

但是,“portlet.xml”文件在大约一个月内没有更改,并且在那段时间我已经为此应用程序进行了几次 WAR 更新,没有任何问题。问题似乎是我昨天做的代码更改造成的,但我不知道为什么几行代码会这样做。

有什么想法吗?

【问题讨论】:

  • 可能想要发布“几行代码”的更改
  • 如matt b所说,能不能恢复到之前的war并安装成功?
  • 没关系 - 请参阅下面的答案。

标签: java jsp portlet websphere-portal


【解决方案1】:

事实证明,真正的原因是我犯了一个愚蠢的错误,与代码更改无关。在使用 Portal 管理界面更新 WAR 时,我选择了错误的现有 WAR 来更新,所以我试图用完全不同的东西更新一个应用程序。

【讨论】:

  • 感谢发帖...我刚刚犯了同样愚蠢的错误,这为我节省了一些时间。
猜你喜欢
  • 2012-10-02
  • 1970-01-01
  • 1970-01-01
  • 2022-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多