gpt4 book ai didi

java - BIRT 运行时引擎 API 的断言错误

转载 作者:行者123 更新时间:2023-12-02 00:56:12 27 4
gpt4 key购买 nike

我是 BIRT 新手,我正在尝试使报表引擎运行。我正在使用 http://www.eclipse.org/birt/phoenix/deploy/reportEngineAPI.php 中提供的代码片段

但我有一个奇怪的异常(exception):

java.lang.AssertionError at org.eclipse.birt.core.framework.Platform.startup(Platform.java:86)

日志文件中没有任何内容。

也许我错过了配置中的某些内容?有人可以给我一些提示,告诉我可以尝试如何让它运行吗?

这是我正在使用的代码:

public static void executeReport()
{

IReportEngine engine=null;
EngineConfig config = null;

try{
config = new EngineConfig( );
config.setBIRTHome("D:\\birt-runtime-2_3_0\\ReportEngine");
config.setLogConfig("d:/temp", Level.FINEST);
Platform.startup( config );
IReportEngineFactory factory = (IReportEngineFactory) Platform
.createFactoryObject( IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
engine = factory.createReportEngine( config );

IReportRunnable design = null;
//Open the report design
design = engine.openReportDesign("D:\\birt-runtime-2_3_0\\ReportEngine\\samples\\hello_world.rptdesign");
IRunAndRenderTask task = engine.createRunAndRenderTask(design);

HTMLRenderOption options = new HTMLRenderOption();
options.setOutputFileName("output/resample/Parmdisp.html");
options.setOutputFormat("html");

task.setRenderOption(options);
task.run();
task.close();
engine.destroy();
}catch( Exception ex){
ex.printStackTrace();
}
finally
{
Platform.shutdown( );
}
}

最佳答案

几个月前我也犯了同样的错误。我不太确定到底是什么解决了这个问题,但我的代码如下所示:

        IDesignEngine engine = null;
DesignConfig dConfig = new DesignConfig();
EngineConfig config = new EngineConfig();
IDesignEngineFactory factory = null;
config.setLogConfig(LOG_DIRECTORY, Level.FINE);
HttpServletRequest servletRequest = (HttpServletRequest) FacesContext.getCurrentInstance()
.getExternalContext().getRequest();

String u = servletRequest.getSession().getServletContext().getRealPath("/");
File f = new File(u + PATH_TO_ENGINE_HOME);

log.debug("setting engine home to:"+f.getAbsolutePath());
config.setEngineHome(f.getAbsolutePath());

Platform.startup(config);
factory = (IDesignEngineFactory) Platform.createFactoryObject(IDesignEngineFactory.EXTENSION_DESIGN_ENGINE_FACTORY);
engine = factory.createDesignEngine(dConfig);
SessionHandle session = engine.newSessionHandle(null);

this.design = session.openDesign(u + PATH_TO_MAIN_DESIGN);

也许您可以通过比较此代码片段和您自己的代码来解决您的问题。顺便说一句,我的 PATH_TO_ENGINE_HOME 是“/WEB-INF/platform”。 [编辑]我使用了 birt-runtime-2_1_1 的 WebViewerExample 中的完整“平台”文件夹。 atm birt-runtime-2_3_0 是实际的。[/edit]

如果这没有帮助,请提供更多详细信息(例如代码片段)。

关于java - BIRT 运行时引擎 API 的断言错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/82123/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com