ich in der Lage bin mit meinem Beispiel-Java-Programm in Python zu kommunizieren, sie durch mein Java-Programm zu öffnen und dann den folgenden Python-Code verwenden:py4j: wie der Java-Gateway von Python starten
from py4j.java_gateway import JavaGateway
gg = JavaGateway()
sw = gg.entry_point.getInstance()
sw.run()
...
aber dies hat die Nachteil, dass ich das Java-Programm irgendwie öffnen muss, bevor ich diesen Code benutze.
Ich fand, dass es eine Methode namens launch_gateway gibt, die zu diesem Zweck sehr praktisch scheint.
Ich kann jedoch keine Verbindung zu meinem Java-Programm herstellen, wenn es auf diese Weise gestartet wird.
Ich habe versucht, den folgenden Code zu verwenden:
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()
Aber ich erhalte den folgenden Fehler:
An error occurred while calling t.getInstance. Trace:
py4j.Py4JException: Target Object ID does not exist for this gateway :t
Ich glaube, ich bin etwas falsch in der Art und Weise tun, versuche ich, an das Gateway zu verbinden .
Irgendwelche Vorschläge?
Dank