作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有以下来自 py4j 文档的简单示例:
from py4j.java_gateway import JavaGateway
def main():
print("Hello")
gateway = JavaGateway() # connect to the JVM
random = gateway.jvm.java.util.Random() # create a java.util.Random instance
number1 = random.nextInt(10) # call the Random.nextInt method
number2 = random.nextInt(10)
print(number1,number2)
if __name__ == '__main__':
main()
我尝试运行它,但出现以下错误:
Traceback (most recent call last):
File "/Users/edamameQ/github/myTest/main.py", line 16, in <module>
main()
File "/Users/edamameQ/github/myTest/main.py", line 7, in main
random = gateway.jvm.java.util.Random() # create a java.util.Random instance
File "/Library/Python/2.7/site-packages/py4j/java_gateway.py", line 1188, in __getattr__
"\n" + proto.END_COMMAND_PART)
File "/Library/Python/2.7/site-packages/py4j/java_gateway.py", line 624, in send_command
connection = self._get_connection()
File "/Library/Python/2.7/site-packages/py4j/java_gateway.py", line 579, in _get_connection
connection = self._create_connection()
File "/Library/Python/2.7/site-packages/py4j/java_gateway.py", line 585, in _create_connection
connection.start()
File "/Library/Python/2.7/site-packages/py4j/java_gateway.py", line 697, in start
raise Py4JNetworkError(msg, e)
py4j.protocol.Py4JNetworkError: An error occurred while trying to connect to the Java server
为了连接到 Java 服务器,我应该做些什么?谢谢!
最佳答案
实际上我需要单独启动JavaGateway。即首先运行以下 Java 应用程序,然后 python 才能工作。
import py4j.GatewayServer;
public class myTest {
public static void main(String[] args) {
myTest app = new myTest();
// app is now the gateway.entry_point
GatewayServer server = new GatewayServer(app);
server.start();
}
}
关于java - py4j.协议(protocol).Py4JNetworkError : An error occurred while trying to connect to the Java server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35664994/
我是一名优秀的程序员,十分优秀!