抛出java.lang.ClassNotFoundException在PHP-Java桥接(java

2019-10-21 00:06发布

我工作的PHP-Java桥接器。

从我的PHP文件中有语法如下所示:

require_once("java/Java.inc");
$address = new Java('com.odus.apg.cfa.java.address');

我已经放置在包文件cfa.jar其由COM /的ODU / APG / CFA / JAVA /TOMCAT.HOME address.class文件/ web应用/ JavaBridge的/ WEB-INF / lib中

而我的PHP文件位于TOMCAT.HOME / webapps /下为JavaBridge

经过这种设置,我得到

Fatal error: Uncaught [[o:Exception]:"java.lang.Exception: CreateInstance failed: new com.odus.apg.cfa.java.address. Cause: java.lang.ClassNotFoundException: com.odus.apg.cfa.java.address VM: 1.7.0_40@http://java.oracle.com/" at: #-18 java.net.URLClassLoader$1.run(Unknown Source) #-17 java.net.URLClassLoader$1.run(Unknown Source) #-16 java.security.AccessController.doPrivileged(Native Method) #-15 java.net.URLClassLoader.findClass(Unknown Source) #-14 java.lang.ClassLoader.loadClass(Unknown Source) #-13 sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) #-12 java.lang.ClassLoader.loadClass(Unknown Source) #-11 java.lang.Class.forName0(Native Method) #-10 java.lang.Class.forName(Unknown Source) #-9 php.java.bridge.Util.classForName(Util.java:1518) #-8 php.java.bridge.JavaBridge.CreateObject(JavaBridge.java:445) #-7 php.java.bridge.Request.handleRequest(Request.java:458) #-6 php.java.bridge.Request.handleRequests(Request.java:500) #-5 php.java.bridge.JavaBridge.handleRequests(JavaBridge.java:150) #-4 php in /usr/share/apache-tomcat-7.0.55/webapps/JavaBridge/java/Java.inc on line 195

这是设置了,即使正确吗? 位于正确的目录中的jar文件和PHP文件? 如何解决这个错误可以解决?

Answer 1:

我有一个类似的问题,我想你的PHP文件编码正确。 你需要做的是这样的:

sudo chown yourprofile:yourprofile -R TOMCAT.HOME/webapps/JavaBridge/WEB-INF/lib/cfa.jar

此命令后重新启动Tomcat服务器使用shutdown.shstartup.sh此外,使用重新启动Apache网络服务器sudo service apache2 restart

确保在php文件中的命令实际上是完全一样的情况下按类名的jar文件和路径也是正确的。

我同意鲍里斯是$address = new Java('com.odus.apg.cfa.java.address'); 实际上应该是这样的$address = new Java('com.odus.apg.cfa.java.Address');

这个问题可以与权限,而不是路径,命名等有时



文章来源: java.lang.ClassNotFoundException in PHP-Java bridge