PHP   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了通过PHP使用Eclipse BIRT Report Designer大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在php webproject中使用Birt Reports.
因此我安装了推荐的 Java Bridge和BIRT Runtime
将JavaBridgeTemplate621.war和birt.war移动到我的tomcat.

之后我写了一个叫BirtENGIne的短课:

try {
    $ctx = java_context()->getServletContext();
    $this->birdENGIne = java("org.eclipse.birt.php.birtENGIne.birtENGIne")->getBirtENGIne($ctX);
    java_context()->onShutdown(
        java("org.eclipse.birt.php.birtENGIne.birtENGIne")->getShutdownHook()
    );
} catch (java_InternalException $E) {
    die($e->getmessage());
}

我认识到$e-> getmessage()返回“”时,我看一下catalina.out,在那里我发现了这个异常:

23.03.2011 15:02:43 org.apache.cxf.interceptor.AttachmenTinInterceptor handlemessage
INFO: AttachmenTinInterceptor skipped in http GET method
23.03.2011 15:02:43 org.apache.cxf.interceptor.StaxInInterceptor handlemessage
INFO: StaxInInterceptor skipped.
23.03.2011 15:02:43 org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor handlemessage
INFO: ReadHeadersInterceptor skipped in http GET method
23.03.2011 15:02:43 org.apache.cxf.phase.PhaseInterceptorChain doIntercept
INFO: Interceptor has thrown exception,unwinding now
org.apache.cxf.interceptor.Fault: No such operation:
        at org.apache.cxf.interceptor.URIMappingInterceptor.handlemessage(URIMappingInterceptor.java:77)
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
        at org.apache.cxf.transport.ChainInitiationObserver.onmessage(ChainInitiationObserver.java:78)
        at org.apache.cxf.transport.servlet.ServletDesTination.invoke(ServletDesTination.java:92)
        at org.apache.cxf.transport.servlet.ServletController.invokeDesTination(ServletController.java:285)
        at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:168)
        at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:175)
        at org.apache.cxf.transport.servlet.AbstractCXFServlet.doGet(AbstractCXFServlet.java:157)
        at javax.servlet.http.httpServlet.service(httpServlet.java:617)
        at javax.servlet.http.httpServlet.service(httpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardENGIneValve.invoke(StandardENGIneValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.http11Processor.process(http11Processor.java:857)
        at org.apache.coyote.http11.http11Protocol$http11ConnectionHandler.process(http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:662)
java.lang.ClassnotFoundException: org.eclipse.birt.php.birtENGIne.birtENGIne
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:247)
        at php.java.bridge.Util.classForName(Util.java:1518)
        at php.java.bridge.JavaBridge.CreateObject(JavaBridge.java:445)
        at php.java.bridge.request.handlerequest(request.java:444)
        at php.java.bridge.request.handlerequests(request.java:500)
        at php.java.bridge.http.ContextRunner.run(ContextRunner.java:145)
        at php.java.bridge.ThreadPool$Delegate.run(ThreadPool.java:60)

特别是这条线引起了我的注意:

java.lang.ClassnotFoundException: org.eclipse.birt.php.birtENGIne.birtENGIne

但每个尝试从谷歌和常见网站获得帮助失败.
所以我希望这个网站的人可以帮助我.

解决方法

我知道这是一个老问题,但我确实通过php java桥成功运行BIRT.您拥有的php代码是正确的.但是你使用WAR文件的方式不是.

基本上你有一个带有php / JavaBridge文件和BIRT的war文件,它是一个在JAVA桥中加载BIRT的特殊类.

如果你还没有解决这个问题,我或许可以制作我正在使用的WAR文件.

大佬总结

以上是大佬教程为你收集整理的通过PHP使用Eclipse BIRT Report Designer全部内容,希望文章能够帮你解决通过PHP使用Eclipse BIRT Report Designer所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。