0

So I've done a lot of fruitless Googling/and Stack-exploring over the past week or so and still can't get my first .jrxml filled with data and converted into a .pdf... I'd really appreciate it if you could help me out with a significant amount of hand-holding.

  • First, I used JasperSoft 6.3 to design the template. Unfortunately it doesn't have compile functionality.
  • Compiling my .jrxml with Ant + Ivy gives me 3 errors all relating to an obscure directory called mondrian, specifically:

    tuples[idx] = new JRMondrianTuple(position, factory);
    class file for Position not found
    hierarchies[i] = new JRMondrianHierarchy(axisHierarchies[i]);
    class file for Hierarchy not found
    mondrianMember = new JRMondrianMember(member, this);
    class file for Member not found
    

    Each of which is preceded by something like:

    C:\jasperreports-6.3.0\src\net\sf\jasperreports\olap\mondrian\JR...java:...:
    

    The build file is:

    <project name="aaa" default="test" basedir=".">
      <property name="sample.dir" value="aaa"/>
      <property name="sample.base.name" value="aaa"/>
      <property name="sample.app.name" value="${sample.base.name}App"/>
      <property name="sample.report.name" value="reportDesign.jrxml" />
      <target name="javac">
        <ant dir="../" target="javac"/>
      </target>
      <target name="compile">
        <ant dir="../" target="compile"/>
      </target>
      <target name="test" >
        <echo message="==================================="/>
        <antcall target="javac" />
        <antcall target="compile" />
        <ant dir="../" target="test"/>
      </target>
    </project>
    
  • Meanwhile, compiling programmatically using the following:

    try {
        JasperCompileManager.compileReportToFile(".reportDesign.jrxml","compiledReport.jasper");
        System.out.println("Done!");
    } catch (JRException e) {
       e.printStackTrace();
    }
    

Gives me errors (NoClassDefFoundError) which adding external JARs should have fixed but didn't.

Filling report...
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ReferenceMap
    at net.sf.jasperreports.engine.component.ComponentsEnvironment.<init>(ComponentsEnvironment.java:56)
    at net.sf.jasperreports.engine.component.ComponentsEnvironment.getInstance(ComponentsEnvironment.java:76)
    at net.sf.jasperreports.engine.xml.JRReportSaxParserFactory.getSchemaLocations(JRReportSaxParserFactory.java:93)
    at net.sf.jasperreports.engine.xml.BaseSaxParserFactory.configureParser(BaseSaxParserFactory.java:153)
    at net.sf.jasperreports.engine.xml.BaseSaxParserFactory.createParser(BaseSaxParserFactory.java:108)
    at net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.createParser(JRXmlDigesterFactory.java:1580)
    at net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.createDigester(JRXmlDigesterFactory.java:1549)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:263)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:219)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:194)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:185)
    at net.sf.jasperreports.engine.JasperCompileManager.compileToFile(JasperCompileManager.java:253)
    at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:554)
    at Main.main(Main.java:20)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.map.ReferenceMap
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 14 more
Alex K
  • 22,315
  • 19
  • 108
  • 236
user61871
  • 929
  • 7
  • 13
  • 1
    `which adding external JARs should have fixed but didn't.` - What list of libs in cp do you have? – Alex K Jul 21 '16 at 11:41
  • You shall add `commons-beanutils`, `commons-collections`, `commons-digester`, `commons-javaflow`, `commons-logging` to classpath. – Beck Yang Jul 21 '16 at 11:46
  • beansutil, collections, digester, logging, itext, jasperreports-6.3.0, jdt-compiler – user61871 Jul 22 '16 at 03:27

0 Answers0