【发布时间】:2018-07-14 01:07:53
【问题描述】:
我正在尝试使用 py4j 从 Python 端启动 JavaGateway。以下是重现我遇到的问题所需的最少文件。
py4j.Py4JException:此网关的目标对象 ID 不存在:t
A.java
public class A {
}
EntryPoint.java
import py4j.GatewayServer;
public class EntryPoint {
public A getA() {
return new A();
}
public static void main(String[] args) {
GatewayServer gatewayServer = new GatewayServer(new EntryPoint());
gatewayServer.start();
System.out.println("server started");
}
}
我使用 IntelliJ 构建 .jar 文件,其中主类为 EntryPoint,py4j.jar 作为依赖项包含在内。
现在,我尝试通过在 python 中引用生成的.jar 文件的路径来启动网关。
test.py
from py4j.java_gateway import JavaGateway
gateway = JavaGateway.launch_gateway(classpath = '../out/artifacts/debugPy4j_jar/debugPy4j.jar')
a = gateway.entry_point.getA()
任何有关解决此问题的建议将不胜感激。
【问题讨论】: