سؤال

لديّ تطبيق WebSphere Portal يحتوي على عدة مدخلات أعمل حاليًا على بعض التغييرات.

قبل أسبوع ، يمكن تثبيت ملف الحرب الذي تنتجه مطور التطبيق العقلاني على خادم البوابة دون أي مشاكل.

بالأمس ، قمت بإجراء بعض التغييرات البسيطة على ما يبدو على ملفين JSP وملفات Java "pagecode" المرتبطة بها ، ومحاولة تحديث الحرب على الخادم (باستخدام واجهة الويب لإدارة البوابة) تنتج الآن رسالة خطأ.
يعمل تحميل الحرب ، ويعرض لي النظام القائمة الصحيحة للبوابات في ملف الحرب ، ولكن النقر فوق "الانتهاء" يعطيني صفحة مع رسالة الخطأ "EJPAQ1319E: لا يمكن تثبيت ملف الحرب المحدد. عرض التفاصيل".
يعطيني النقر فوق رابط "عرض تفاصيل" صفحة مع النص التالي:

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:

EJPPE0020E: لا يُسمح بتثبيت {0} على تطبيق بورتل {1}.
تفسير: لا يمكن تحديث تطبيق مدخل يحتوي على مدخلات Legacy إلا مع تطبيق مدخل آخر يحتوي على مدخلات قديمة. وينطبق الشيء نفسه على تطبيقات المدخل القياسية.
استجابة المستخدم: قم بتعديل portlet.xml من التطبيق بحيث يطابق نوع API الأصلي ، القياسي أو القديم وحاول مرة أخرى.

ومع ذلك ، لم يتغير ملف "portlet.xml" في غضون شهر تقريبًا ، وقد أجريت العديد من تحديثات الحرب لهذا التطبيق في ذلك الوقت دون أي مشاكل. يبدو أن المشكلة ناتجة عن تغييرات الكود التي أجريتها بالأمس ، لكن ليس لدي أدنى فكرة عن سبب قيام بضعة أسطر من التعليمات البرمجية بذلك.

أيه أفكار؟

هل كانت مفيدة؟

المحلول

اتضح أن السبب الفعلي كان خطأً سخيفًا من جانبي ، ولا علاقة له بتغييرات الكود. عند استخدام واجهة Portal Admin لتحديث الحرب ، قمت باختيار الحرب الموجودة على التحديث ، لذلك كنت أحاول تحديث تطبيق واحد بشيء مختلف تمامًا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top