gpt4 book ai didi

java - 如何将 .jar 文件安装到 zend 服务器 CE 上并从 php 脚本调用它

转载 作者:行者123 更新时间:2023-12-01 05:34:14 26 4
gpt4 key购买 nike

我的 zend javabridge 正在工作。现在我想用同名的类调用 .jar 文件 myWebTest.jar。然后我想调用一个函数 testWeb,它返回一个 hello world 字符串。

此功能适用于 32 位 Win 7 专业系统

我将 myWebTest.jar 添加到位于/zend/zendserver/etc/java_bridge_server.ini 的类路径中:

[JAVA_BRIDGE_SERVER]
CLASSPATH="C:\Program Files\Zend\ZendServer\bin\javamw.jar;C:\Program Files\Zend\ZendServer\bin\myWebTest.jar;."

这条路径是正确的。

我已经重新启动了 zend 服务器,我正在尝试的代码是:

$jObj = new Java("myWebTest");

// Print date through the object
print $jObj->testWeb("jim");

日志:

1 {main}
thrown in C:\Program Files\Zend\Apache2\htdocs\javaObject.php on line 4
[08-Dec-2011 11:44:48] PHP Fatal error: Call to a member function testWeb() on a non-object in C:\Program Files\Zend\Apache2\htdocs\javaObject.php on line 6
[08-Dec-2011 11:45:51] PHP Fatal error: Uncaught exception 'JavaException' with message 'Java Exception java.lang.ClassNotFoundException: myWebTest
java.lang.ClassNotFoundException: myWebTest
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)

in C:\Program Files\Zend\Apache2\htdocs\javaObject.php:4
Stack trace:
#0 C:\Program Files\Zend\Apache2\htdocs\javaObject.php(4): *No Class!*->jbridge('myWebTest')
#1 {main}
thrown in C:\Program Files\Zend\Apache2\htdocs\javaObject.php on line 4

我在任何地方都找不到操作方法。蒂亚·吉姆

最佳答案

来自 Java 的文档

object java(string $class_name [ , ... ])

Parameters
class_name: Class name to create
...: Additional arguments are treated as constructor parameters

Return Value: The Java object that was created, NULL otherwise

不要混淆,实际上类名需要是类的完整限定名称。例如,如果您有一个如下所示的类:

package experiment;

public class Test {
....
}

这里的类名称是:Test完全限定名称:experiment.Test

因此要在 PHP 中实例化该类,您需要编写:

$test = new Java("experiment.Test");
<小时/>

另外根据您的异常日志

Java Exception java.lang.ClassNotFoundException: myWebTest

它表明,它在您的类路径中找不到任何名为 myWebTest 的类。这意味着 jar 文件中没有名为 myWebTest 的类,或者 jar 未正确加载。

关于java - 如何将 .jar 文件安装到 zend 服务器 CE 上并从 php 脚本调用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8434931/

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