我在JSP中调用IREPORT报表出现如下错误,小弟初学,请问这是怎么回事,怎么解决?先谢了。org.apache.jasper.JasperException: Unable to compile class for JSPNote: sun.tools.javac.Main has been deprecated.
..\work\localhost\webdav\_0002fload_0005fireport_0002ejspload_0005fireport_jsp_0.java:99: Undefined variable or class name: JasperRunManager
                 JasperRunManager.runReportToPdf(

解决方案 »

  1.   

    显然你没有引入ireport的类
    给你个例子看看
    //应用程序可以,完成报表打印
    import dori.jasper.engine.*;
    import dori.jasper.engine.util.*;
    import java.sql.*;
    import java.util.*;
    import dori.jasper.engine.JasperReport;
    import java.util.Date;
    import java.text.SimpleDateFormat;
    import dori.jasper.view.*;
    import org.apache.commons.logging.LogFactory;
    import com.lowagie.text.DocumentException;
    import com.lowagie.text.*;
    import dori.jasper.engine.design.*;
    import org.apache.commons.digester.Digester;
    import org.apache.commons.beanutils.BeanUtils;public class myreport
    {
     public void reportName(String strBbmc)
     {
      JRResultSetDataSource jrds = null;
      JasperPrint jasperPrint = null;
      Map reportParams = new HashMap();
      ResultSet rs = null;
      Connection con = null;
      Statement stmt = null;
      String sql = "select * from  bbmc";
      try
       {
        //动态获取
        JasperDesign jasperDesign = JasperManager.loadXmlDesign("./bbmc.jrxml");
        JasperReport jasperreport = JasperManager.compileReport(jasperDesign);
        //建立连接
        ConnectionpoolManager mgr = new ConnectionpoolManager();
        mgr.setMonitorThread(520);
        mgr.addAlias("jdbcConnecpool","com.microsoft.jdbc.sqlserver.SQLServerDriver","jdbc:microsoft:sqlserver://192.168.45.233:1433;DatabaseName = ysgl ","sa","sa",10,300,520,30,false);
        con = DriverManager.getConnection(ConnectionPoolManager.URL_PREFIX+ConnectionPoolManager.getPoolName(),null,null);
        stmt = con.creatStatement();
        rs = stmt.executeQuery(sql);
        jrds = new JRResultSetDataSource(rs);
        jasperPrint = JasperFil 
      

  2.   

    这个不是错误,是个警告。deprecated的意思是:不建议使用。可能你用的是旧版本。
      

  3.   


    很有可能是你下载的 jasperreport 的 jar 包有问题,我也曾经下载了一个不完整的,很多 jar 都找不到,后来将它的 DEMO 中的 JAR 拷贝过来就好了.