我能夠用在Python我的示例Java程序進行交互,打開我的Java程序,然後使用下面的Python代碼:py4j:如何從Python的
from py4j.java_gateway import JavaGateway
gg = JavaGateway()
sw = gg.entry_point.getInstance()
sw.run()
...
然而,這有缺點是我必須在使用此代碼之前以某種方式打開Java程序。
我發現有一種叫做launch_gateway的方法,這個方法看起來很方便。
py4j.java_gateway.launch_gateway(jarpath="path_to_my_jar.jar")
但是,如果以這種方式啓動,我無法連接到我的Java程序。
我試着用下面的代碼:
port = py4j.java_gateway.launch_gateway(jarpath="path_to_my_jar.jar")
gp = GatewayParameters(port=port)
gg = JavaGateway(gateway_parameters=gp)
sw = gg.entry_point.getInstance()
,但我得到了以下錯誤:
An error occurred while calling t.getInstance. Trace:
py4j.Py4JException: Target Object ID does not exist for this gateway :t
我想我做一些錯誤的方式,我嘗試連接到網關。
有什麼建議嗎?
感謝