我有一个Websphere Portal应用程序,它包含了几个portlet,我目前正在为这些portlet做一些更改。
一周前,生成的WAR文件可以毫无问题地安装在Portal服务器上。
昨天,我对两个JSP文件及其相关的“页面编码”Java文件做了一些看似微小的更改,并且试图在服务器上更新WAR (使用接口),现在产生了一条错误消息。
WAR上传工作,系统向我显示WAR文件中portlet的正确列表,但是单击"Finish“会给出一个页面,其中包含错误消息"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,使其与原始的portlet.xml类型、标准或旧版本相匹配,然后再试一次。
但是,"portlet.xml“文件在大约一个月内没有改变,而且我在那个时候为这个应用程序做了几次WAR更新,没有任何问题。这个问题似乎是由我昨天做的代码更改引起的,但是我不知道为什么几行代码会这样做。
有什么想法吗?
发布于 2010-05-07 04:00:04
我的实际原因是我犯了一个愚蠢的错误,与代码的更改没有任何关系。在使用Portal界面更新WAR时,我选择了要更新的现有WAR,所以我尝试用完全不同的东西更新一个应用程序。
https://stackoverflow.com/questions/2785789
复制相似问题