2010-02-23 3 views
1

내 응용 프로그램에서 Apache TomaHawk를 사용하여 <h:DataTable>의 데이터를 PDF 파일로 내보내려고합니다. 페이지를로드하는 동안 예외가 발생합니다. 내 코드와 예외를 붙여 넣었습니다.Tomahawk를 사용하여 데이터를 PDF 형식으로 내 보냅니 까?

JSF 코드

<%@ page session="false" contentType="text/html;charset=utf-8"%> 
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%> 
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%> 
<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%> 
<%@ taglib uri="http://myfaces.apache.org/sandbox" prefix="s"%> 
<f:view> 
<html> 
    <body> 
     <h:form> 
      <p> 
       This component allows to export the datatable contents to an excel 
       or pdf file. 
      </p> 

      <br> 
      <t:dataTable id="tbl_cars" var="car" value="#{exBean.list}" 
       preserveDataModel="false"> 
       <t:column> 
        <f:facet name="header"> 
         <h:outputText value="Id" /> 
        </f:facet> 
        <h:outputText value="#{car.id}" /> 
       </t:column> 

       <t:column> 
        <f:facet name="header"> 
         <h:outputText value="Type" /> 
        </f:facet> 
        <h:outputText value="#{car.type}" /> 
       </t:column> 

       <t:column> 
        <f:facet name="header"> 
         <h:outputText value="Color" /> 
        </f:facet> 
        <h:outputText value="#{car.color}" /> 
       </t:column> 

      </t:dataTable> 
      <h:commandButton action="" value="Export as excel"> 
       <s:exporterActionListener for="tbl_cars" fileType="XLS" /> 
      </h:commandButton> 

      <br> 

      <h:commandButton action="" value="Export as pdf"> 
       <s:exporterActionListener for="tbl_cars" fileType="PDF" /> 
      </h:commandButton> 


     </h:form> 

    </body> 

</html> 
    </f:view> 

예외

java.lang.NoClassDefFoundError: Could not initialize class org.apache.myfaces.shared_tomahawk.config.MyfacesConfig 
at org.apache.myfaces.renderkit.html.util.ExtensionsPhaseListener.writeCodeBeforeBodyEnd(ExtensionsPhaseListener.java:130) 
at org.apache.myfaces.renderkit.html.util.ExtensionsPhaseListener.getCodeBeforeBodyEnd(ExtensionsPhaseListener.java:104) 
at org.apache.myfaces.renderkit.html.util.ExtensionsPhaseListener.getJavaScriptCodeAndStoreInRequest(ExtensionsPhaseListener.java:94) 
at org.apache.myfaces.renderkit.html.util.ExtensionsPhaseListener.afterPhase(ExtensionsPhaseListener.java:70) 
at org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:92) 
at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:142) 
at org.apache.myfaces.custom.ppr.PPRLifecycleWrapper.render(PPRLifecycleWrapper.java:84) 
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:182) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178) 
at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290) 
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388) 
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) 
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) 
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) 
at java.lang.Thread.run(Thread.java:619) 

답변

1
java.lang.NoClassDefFoundError: Could not initialize class 
    org.apache.myfaces.shared_tomahawk.config.MyfacesConfig 

어느 클래스 패스 (각 OTH와 충돌 얻을 서로 다른 버전의 JAR 파일을 복제 더러운 또는 Tomahawk 및/또는 해당 종속성 commons-fileupload, commons-logging, commons-io 및/또는 commons-el (그냥 /WEB-INF/lib에 JAR 파일을 넣음)을 설치하는 것을 잊었을 수도 있습니다.

+0

내가 말했던 모든 것을 확인했습니다. – Hariharbalaji

+0

죄송합니다. 예외는 예외입니다. Tomahawk이 올바른 방법으로 설치되었다고 확신하는 사람이라면 버전 충돌이있을 것입니다. 이전 버전의 복제본에서 클래스 경로를 정리하고 모든 버전을 정렬하십시오. 또는 stacktrace를 다시 읽어서 ** 근본 원인 ** (그 아래 부분)을 찾으십시오. 아직 완료하지 않았거나 이해하지 못한 경우에 해당됩니다. – BalusC

관련 문제