Java 类未找到异常,包括适当的JAR和不同版本:JasperReports

Java 类未找到异常,包括适当的JAR和不同版本:JasperReports,java,maven,jasper-reports,classnotfoundexception,osgi-bundle,Java,Maven,Jasper Reports,Classnotfoundexception,Osgi Bundle,使用.jrxml创建JasperReports报告,我的Java代码是: package jasperReport.Testreport; import java.io.*; import java.util.*; import java.sql.Connection; import javax.sql.DataSource; import javax.naming.InitialContext; import javax.naming.NamingException; import net

使用.jrxml创建JasperReports报告,我的Java代码是:

package jasperReport.Testreport;

import java.io.*;
import java.util.*;
import java.sql.Connection;
import javax.sql.DataSource;
import javax.naming.InitialContext;
import javax.naming.NamingException;

import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import net.sf.jasperreports.engine.export.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class App {

    public static void main(String[] args) {

        try {
            InputStream input;
            Class.forName("com.mysql.jdbc.Driver");

            Connection connection;
            JasperReport report;
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/jasper", "root", "root");
            JasperPrint jasperPrint;
            HashMap jasperParameter = new HashMap();
            report = JasperCompileManager.compileReport("sample_report.jrxml");
            jasperPrint = JasperFillManager.fillReport(report, jasperParameter, connection);
            JasperExportManager.exportReportToPdfFile(jasperPrint, "sample_report.pdf");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
使用POM.xml:


朱尼特
朱尼特
3.8.1
测试
mysql
mysql连接器java
5.1.6
雄猫
jasper编译器jdt
5.5.23
雄猫
jasper运行时
5.5.23
javax.jcr
jcr
2
net.sf.jasperreports
jasperreports
3.7.5
jasperreports
jasperreports
1.2.6
公地蒸煮器
公地蒸煮器
1.8
公地收藏
公地收藏
3
公用记录
公用记录
1.1.1
公用记录
公用记录
1.1.1
公地小海狸
公地小海狸
1.8.0
com.lowagie
文字
2.1.0
雄猫
jasper编译器jdt
5.5.23
我试着用不同的版本导入消化罐,但没有任何效果

当我把它作为Maven项目执行时,它不会出错。当我试图将其转换为OSGI包时,我得到的错误如下

Caused by: java.lang.ClassNotFoundException: org.apache.commons.digester.Digester not found by       com.thermo.wcm.web.jasperReport 

这里还有其他需要纠正的地方吗

此问题通过使用

   <Export-Package> org.apache.commons.digester.* </Export-Package> 
org.apache.commons.digester.*
在OSGI config的pom.xml中