当前位置: 代码迷 >> PHP >> php通过JavaBridge调用Java类库和不带包的自定义java类成功 但是调用带包的自定义Java类报错,该怎么解决,求大神指点,多谢
  详细解决方案

php通过JavaBridge调用Java类库和不带包的自定义java类成功 但是调用带包的自定义Java类报错,该怎么解决,求大神指点,多谢

热度:54   发布时间:2016-04-28 17:47:23.0
php通过JavaBridge调用Java类库和不带包的自定义java类成功 但是调用带包的自定义Java类报错,该如何解决,求大神指点,谢谢。
php通过JavaBridge调用Java类库和不带包的自定义java类成功 但是调用带包的自定义Java类报错;错误日志如下:Fatal error: Uncaught [[o:Exception]:"java.lang.Exception: CreateInstance failed: new cn.org.bjca.test.Test1. Cause: java.lang.ClassNotFoundException: Could not find cn.org.bjca.test.Test1 in java_require() path. Please check the path and the SEL and File permissions. VM: [email protected]://java.sun.com/" at: #-9 php.java.bridge.DynamicJavaBridgeClassLoader.loadClass(DynamicJavaBridgeClassLoader.java:278) #-8 java.lang.Class.forName0(Native Method) #-7 java.lang.Class.forName(Class.java:247) #-6 php.java.bridge.SimpleJavaBridgeClassLoader.forName(SimpleJavaBridgeClassLoader.java:158) #-5 php.java.bridge.JavaBridge.CreateObject(JavaBridge.java:455) #-4 php.java.bridge.Request.handleRequest(Request.java:443) #-3 php.java.bridge.Request.handleRequests(Request.java:481) #-2 php.java.bridge.http.ContextRunner.run(ContextRunner.java:145) #-1 php.java.bridge.ThreadPool$Delegate.run(ThreadPool.java:60) #0 C:\Apache\htdocs\java\Java.inc(335): java_ThrowExceptionProxyFactory->getProxy(1, NULL, 'Could not find ...', false) #1 C:\Apache in C:\Apache\htdocs\java\Java.inc on line 298
尝试了网上提供的很多办法,都未能解决,并且在windows和linux均出现这个问题,不知道哪个地方配置错误,请大家给出建议,谢谢。
php版本:5.3.5
apache版本:2.2.2
JavaBridge版本:5.4.4
------解决思路----------------------
最近用了php-java-bridge-6.2.1,碰到了同样的问题,解决办法如下,给楼主做参考吧。

把你所要用的jar,放到你的java/jre/lib/ext下,缺点是需要重启server,这个问题就ok了。

有没有大侠知道怎样可以不重启server(应该是JVM加载),就可以调用Java成功?
------解决思路----------------------
这个问题主要是路劲的问题,我跟你用的是同一个版本的 JavaBridge,
$here=realpath(dirname($_SERVER["SCRIPT_FILENAME"]));
java_set_library_path($here.PATH_SEPARATOR .'.'); //设置java开发包(class或jar文件)路径,多个路径就用PATH_SEPARATOR分隔,保证跨平的支持。

可以看看这个地方的介绍 http://blog.csdn.net/qq635785620/article/details/7522966
  相关解决方案