java-Birt类EngineException的NoClassDefFoundError

是否有人成功将Birt库添加到项目的构建路径?

我使用帮助->安装新软件在Eclipse中安装了Birt,并从官方网站复制并粘贴了Birt 4.2.2的链接. Birt是从互联网上下载的,出现了一个新的视角,即Report Design.除了它,没有图书馆,什么也没有.因此,我设计了报告,并开始编写Java代码,以便对报告进行PDF导出,就像我在互联网上发现的那样.我写了以下内容:

// Export Birt report
        String format = HTMLRenderOption.OUTPUT_FORMAT_PDF;
        EngineConfig config = new EngineConfig( );
        config.setEngineHome( "C:\\Tools\\Eclipse\\plugins\\org.eclipse.birt.report.viewer_4.2.2.v201302041142\\birt" );
        HTMLEmitterConfig hc = new HTMLEmitterConfig( );
        HTMLCompleteImageHandler imageHandler = new HTMLCompleteImageHandler( );
        hc.setImageHandler( imageHandler );
        config.setEmitterConfiguration( HTMLRenderOption.OUTPUT_FORMAT_HTML, hc );
        ReportEngine engine = new ReportEngine( config );
        IReportRunnable report = null;
        String reportFilepath = "C:/Workspace/reports/new_report.rptdesign";
        try {
            report = engine.openReportDesign( reportFilepath );
        }
        catch ( EngineException e ) {
            System.err.println( "Report " + reportFilepath + " not found!\n" );
            engine.destroy( );
            return;
        }
        IRunAndRenderTask task = engine.createRunAndRenderTask( report );
        HTMLRenderOption options = new HTMLRenderOption( );
        options.setOutputFormat( format );
        options.setOutputFileName( "C:/Workspace/reports/output.pdf" );
        task.setRenderOption( options );
        task.setParameterValues( parametersMap );
        try {
            task.run( );
        }
        catch ( EngineException e1 ) {
            System.err.println( "Report " + reportFilepath + " run failed.\n" );
            System.err.println( e1.toString( ) );
        }
        engine.destroy( );
        return;

当然,我的构建路径中没有设置Birt库,因此所有Birt对象都是红色的.我手动添加了Eclipse的plugins文件夹中存在的所有Birt jars,所有红色消失了.似乎一切都很好.当我运行它时,我得到:

java.lang.NoClassDefFoundError: org/eclipse/birt/report/engine/api/EngineException

而org.eclipse.birt.report.engine.api包存在于我的构建路径中
和EngineException.class存在于包中.我感觉到我缺少jar文件.
我在Birt主页中搜索了解决方案,但没有发现任何问题.大多数教程都有关于如何生成报告的说明.但是,关于如何使用Java建立和运行该库,则无济于事.

是否存在将Birt Library添加到Eclipse的标准,自动或官方方式?它是由Eclipse制造的.应该没有那么难.任何帮助将不胜感激.

解决方法:

您已阅读此页-> http://wiki.eclipse.org/Servlet_Example_(BIRT)_2.1
也许您可以在那里找到一些提示.

上一篇:linux-Centos 7-文本模式设置实用程序(设置命令)-缺少“网络配置”


下一篇:如何从Java检查Windows是否已安装python?