[Py4J]从Pythyon端启动Py4J
- Jar包没有main class。启动阻塞,直到JVM启动,Python才会尝试连接
-
java_server = JavaGateway.launch_gateway(java_path=__java_home, classpath=__class_path, die_on_exit=True, jarpath=__py4j_jar, javaopts=["-Djava.library.path=" + dylib, '-Djava.awt.headless=true', "-DWORKDIR=" + work_dir, "-Xmx1024m"]) client = java_server.jvm.MainClass.getFactoryInstance()
- Jar包有main class。启动非阻塞,可能导致JVM没有启动,Python就去连接的错误
-
command = [__java_home, '-classpath', __class_path, "-Djava.library.path=" + dylib, '-Djava.awt.headless=true', "-DWORKDIR=" + work_dir, __jar_name] proc = subprocess.Popen(command, stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=open(os.devnull, "w"), **{}) java_gateway = JavaGateway() client = java_gateway.entry_point