2011-10-15 9 views
7

JasperFillManager एक पैरा पॉइंट अपवाद फेंक रहा है जब मैं अपने पैरामीटर में एसक्यूएल कनेक्शन पास करता हूं लेकिन जब मैं JRResultSetDatasource पास करता हूं तो यह ठीक चलता है।मैं jasperFillManager को कॉल करते समय java.lang.Class.isAssignableFrom (मूल विधि) पर java.lang.NullPointerException क्यों प्राप्त करूं?

java.lang.NullPointerException 
at java.lang.Class.isAssignableFrom(Native Method) 
at net.sf.jasperreports.engine.fill.JRFillTextField.getFormat(JRFillTextField.java:706) 
at net.sf.jasperreports.engine.fill.JRFillTextField.evaluateText(JRFillTextField.java:394) 
at net.sf.jasperreports.engine.fill.JRFillTextField.evaluate(JRFillTextField.java:368) 
at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:258) 
at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:499) 
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2036) 
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:760) 
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:270) 
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:128) 
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:946) 
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:845) 
at net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSubreport.java:609) 
at net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:59) 
at net.sf.jasperreports.engine.fill.JRThreadSubreportRunner.run(JRThreadSubreportRunner.java:205) 
at java.lang.Thread.run(Unknown Source) 

जब मैं fillReport में कनेक्शन पास करता हूं तो यह अपवाद देता है।

jasperPrint = JasperFillManager.fillReport(jasperReport, map, reportConnection); 

मैं एक सबरेपोर्ट का भी उपयोग कर रहा हूं इसलिए मैं JRResultSetDatasource का उपयोग नहीं कर रहा हूं और कनेक्शन का उपयोग नहीं कर रहा हूं। मैं बस इस नोट में फंस गया हूं कि जब मैं JRResultSetDatasource पास करता हूं तो यह ठीक काम करता है और जब मैं हैसमैप पैरामीटर में कनेक्शन ऑब्जेक्ट भी पास करता हूं तो यह ऊपर की तरह ही त्रुटि देता है।

+1

आपने अपना दिन बचाया! –

उत्तर

8

मैं सिर्फ यह तय दो मिनट पहले पिछले संस्करण

4

आपका जैस्पर-डिजाइनर और अपनी परियोजना के एक ही संस्करण होना चाहिए में जार करने के लिए अपने यात्रा करना जार फ़ाइल को अद्यतन करने।

2

परियोजनाओं में जार फाइलें lib फ़ोल्डर को iReport के संस्करण से मेल खाना चाहिए, मुझे एक ही समस्या थी और इसे सही जार फ़ाइलों का उपयोग करके हल किया गया है। आप नीचे दिए गए लिंक पर एक नज़र ले जा सकते हैं: http://sourceforge.net/projects/jasperreports/files/jasperreports/

1

कोई नई .jar करने के लिए पुराने .jar से बदलने के लिए एक मुद्दा है। यदि आपके पास कोई विकल्प है। मान लीजिए कि आपको पुराने जार को बनाए रखने की जरूरत है लेकिन इसे काम करना चाहिए। कृपया इसका इस्तेमाल करें।

निम्न कोड उच्च संस्करण [EX: 4.1.1] में पुराने संस्करण में नहीं है [EX: 3.7.6]।

<subreport> 
     <reportElement positionType="Float" x="335" y="25" width="175" 
       height="20" isRemoveLineWhenBlank="true" 
       backcolor="#99ccff"/> 

       <dataSourceExpression> 
       new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource 
       ($F{subReportBeanList}) 
       </dataSourceExpression> 
       <subreportExpression class="java.lang.String"> 
        <![CDATA[$P{SUBREPORT_DIR} + "subReport.jasper"]]> 
       </subreportExpression> 
    </subreport> 

वही कोड पुराने संस्करण में थोड़ा सा संशोधन के साथ काम करता है।

<parameter name="subreportParameter" class="net.sf.jasperreports.engine.JasperReport"/> 
    <subreport> 
     <reportElement positionType="Float" x="1" y="2" width="532" height="15" isRemoveLineWhenBlank="true" backcolor="#99CCFF"/> 
        <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource 
       ($F{subReportBeanList})]]></dataSourceExpression> 
        <subreportExpression class="net.sf.jasperreports.engine.JasperReport"><![CDATA[$P{subreportParameter}]]></subreportExpression> 
       </subreport> 
संबंधित मुद्दे