将WAR部署到WebSphere Portal环境时出错

时间:2009-10-14 14:13:49

标签: java websphere-portal

我正在尝试将开箱即用的portlet部署到我的WebSphere Portal 6.0环境中。我对其中一个JSP进行了少量HTML更改,并且任何后续部署都会导致以下错误:

EJPAQ1316E: Could not process the selected file from the browse button as a WAR file. Make sure it is a WAR file and try again.

com.ibm.portal.WpsException: EJPAQ1316E: Could not process the selected file from the browse button as a WAR file.  Make sure it is a WAR file and try again.   at com.ibm.wps.portlets.portletmanager.actions.UploadWarFileAction.putDisplayableStringsIntoActionForm(UploadWarFileAction.java:401)    at com.ibm.wps.portlets.portletmanager.actions.UploadWarFileAction.doExecute(UploadWarFileAction.java:244)  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)

EJPPD0035E: The WAR file D:IBMPortaldeployed empfile.war could not be extracted into directory D:IBMPortaldeployed emp empfile.war.6.

com.ibm.wps.command.applications.AppWarFileException: EJPPD0035E: The WAR file D:IBMPortaldeployed  empfile.war could not be extracted into directory D:IBMPortaldeployed   emp empfile.war.6.WrappedException is: java.io.IOException: The given input stream is not an archive.   at com.ibm.wps.command.applications.AbstractApplicationsCommand.throwAppWarFileException(AbstractApplicationsCommand.java:380)  at com.ibm.wps.command.applications.AbstractApplicationsCommand.extractArchive(AbstractApplicationsCommand.java:714)    at com.ibm.wps.command.applications.GetPortletApplicationInfoCommand.execute(GetPortletApplicationInfoCommand.java:117) at com.ibm.wps.portlets.portletmanager.utils.WebModuleInstallUpdateUtil.getPortletInfoFromWarBytes(WebModuleInstallUpdateUtil.java:297) at com.ibm.wps.portlets.portletmanager.utils.WebModuleInstallUpdateUtil.getConcreteAppsFromFormFile(WebModuleInstallUpdateUtil.java:239)    at com.ibm.wps.portlets.portletmanager.actions.UploadWarFileAction.putDisplayableStringsIntoActionForm(UploadWarFileAction.java:357)    at com.ibm.wps.portlets.portletmanager.actions.UploadWarFileAction.doExecute(UploadWarFileAction.java:244)  at com.ibm.wps.portlets.adminstruts.actions.BaseAction.execute(BaseAction.java:64)

java.io.IOException: The given input stream is not an archive.
java.io.IOException: The given input stream is not an archive.  at com.ibm.wps.util.ArchiveExtracter.extract(ArchiveExtracter.java(Compiled Code))  at com.ibm.wps.util.ArchiveFileUtils.extractArchive(ArchiveFileUtils.java:86)   at com.ibm.wps.command.applications.AbstractApplicationsCommand.extractArchive(AbstractApplicationsCommand.java:712)    at com.ibm.wps.command.applications.GetPortletApplicationInfoCommand.execute(GetPortletApplicationInfoCommand.java:117) at com.ibm.wps.portlets.portletmanager.utils.WebModuleInstallUpdateUtil.getPortletInfoFromWarBytes(WebModuleInstallUpdateUtil.java:297) at com.ibm.wps.portlets.portletmanager.utils.WebModuleInstallUpdateUtil.getConcreteAppsFromFormFile(WebModuleInstallUpdateUtil.java:239)    at com.ibm.wps.portlets.portletmanager.actions.UploadWarFileAction.putDisplayableStringsIntoActionForm(UploadWarFileAction.java:357)    at com.ibm.wps.portlets.portletmanager.actions.UploadWarFileAction.doExecute(UploadWarFileAction.java:244)  at com.ibm.wps.portlets.adminstruts.actions.BaseAction.execute(BaseAction.java:64)

我做了什么明显错误的事吗?正如我所说,我对实际代码没有做任何改变,只是它的布局方式。

由于

罗尼

更新:更多信息:我正在尝试重新部署portlet lwp.peoplefinder.jsr168.war 。我提到的微小变化实际上很小,即从文件ProfileField_inc.jsp中删除了4个<br>标签(如果有人熟悉的话)。

2 个答案:

答案 0 :(得分:0)

我认为这是WAS的一个已知功能。如果portlet使用原始文件名直到世界末日,你必须。所以,如果你有ie。第一次部署时war文件名中的内部版本号,这是重新部署时必须使用的内容。

答案 1 :(得分:0)

卸载war,部署为新的,将portlet重新删除到页面或重新运行脚本。