이 예외는 페이지에 일치하지 않는 포틀릿 이름에있는 경우 문제가 발생할 수 있습니다. 포틀릿 응용 프로그램이 하나의 이름으로 배포 할 때 자주 발생하지만 다음 페이지 단편 페이지에 당신은, 예를 들어, 다른 이름을 참조 :
<fragment id="1234" type="portlet" name="myApp::myPortlet">
을 당신이 당신의 war 파일을 배포 할 때, 그것은 지명된다 예제 myApp-1.0-SNAPSHOT.war
조각의 이름 속성의 값은 "$ {portlet.war.name} :: $ {portlet.name}이어야합니다. 첫 번째 부분 ($ {portlet.war.name})는 포틀릿 war 파일의 이름에서 .war을 뺀 값입니다. 두 번째 부분은 portlet.xml 파일의 태그 값에서 가져옵니다.
war 파일 또는 cha 페이지 정의에 버전을 포함하십시오. 변경 될 수 있으므로 조각에 버전 번호를 넣는 것은 좋지 않습니다.
세 번째 해결 방법은 실제로 Jetspeed Container 서블릿에 contextName이라는 init param을 설정하여 web.xml에서 포틀릿 응용 프로그램의 이름을 변경하는 것입니다. 아래 예제에서 "myApp"로 설정 :
<servlet>
<description>MVC Servlet for Jetspeed Portlet Applications</description>
<display-name>Jetspeed Container</display-name>
<servlet-name>JetspeedContainer</servlet-name>
<servlet-class>
org.apache.jetspeed.container.JetspeedContainerServlet</servlet-class>
<init-param>
<param-name>contextName</param-name>
<param-value>myApp</param-value>
</init-param>
<load-on-startup>100</load-on-startup>
</servlet>