我正在尝试将 Jasper 报告与 PHP yii 应用程序一起使用。我已经安装了 jasper-report-server,显然是 tomcat 和 apache 以及 php。我已经进行了下载报告的配置,但遇到了此错误:
Fatal error: Uncaught [[o:Exception]:"java.lang.Exception: CreateInstance failed: new org.altic.jasperReports.JdbcConnection. Cause: java.lang.ClassNotFoundException: org.altic.jasperReports.JdbcConnection
屏幕截图:
Fatal error: Uncaught [[o:Exception]:"java.lang.Exception: CreateInstance failed: new org.altic.jasperReports.JdbcConnection. Cause: java.lang.ClassNotFoundException: org.altic.jasperReports.JdbcConnection VM: 1.7.0_101@http://java.oracle.com/" at: #-10 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702) #-9 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547) #-8 java.lang.Class.forName0(Native Method) #-7 java.lang.Class.forName(Class.java:278) #-6 php.java.bridge.Util.classForName(Util.java:1518) #-5 php.java.bridge.JavaBridge.CreateObject(JavaBridge.java:445) #-4 php.java.bridge.Request.handleRequest(Request.java:458) #-3 php.java.bridge.Request.handleRequests(Request.java:500) #-2 php.java.bridge.http.ContextRunner.run(ContextRunner.java:145) #-1 php.java.bridge.ThreadPool$Delegate.run(ThreadPool.java:60) #0 http://localhost:8080/JavaBridge/java/Java.inc(232): java_ThrowExceptionProxyFactory->getProxy(4, 'php.java.bridge...', 'T', false) #1 http://localho in http://localhost:8080/JavaBridge/java/Java.inc on line 195]
最佳答案
我刚刚遇到了同样的问题,并且在创建 JasperCompileManager 时解决了它手动初始化 cancelProxyCreationTag
属性:
$compileManager = new \JavaClass("net.sf.jasperreports.engine.JasperCompileManager");
$compileManager->__client->cancelProxyCreationTag = 0;
cancelProxyCreationTag
是一个在 Java.inc 生成的文件中使用但未声明或初始化的属性...
关于java - 注意:未定义的属性:http://localhost:8080/JavaBridge/java/Java.inc 第 1994 行中的 java_Client::$cancelProxyCreationTag,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38406008/