如何从Linux shell启动py4j GatewayServer?

问题描述 投票:0回答:1

我想在我的Linux主机上运行py4j。

我的Java肌肉很弱但我知道Python。

我开始安装Anaconda 5.0.1,它给了我Python 3.6.3

接下来我用shell命令安装了py4j包:

conda install py4j

然后我安装了Java sdk并将其放在这里:

$HOME/jdk/

我设置了env变量:

export JAVA_HOME=${HOME}/jdk
export PATH="${JAVA_HOME}/bin:${PATH}"

我使用这个shell命令来查看它:

java -version

它说:

java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)

接下来我研究了这个页面:

https://www.py4j.org/index.html

它要求我启动一个依赖于这个Java文件的服务器:

public class AdditionApplication {

  public int addition(int first, int second) {
    return first + second;
  }

  public static void main(String[] args) {
    AdditionApplication app = new AdditionApplication();
    // app is now the gateway.entry_point
    GatewayServer server = new GatewayServer(app);
    server.start();
  }
}

问题:在Linux上,我应该运行哪些shell命令来启动上述Java文件中列出的服务器?

java python python-3.x py4j
1个回答
0
投票

我用google来学习一些关于shell命令javac和java的知识。然后我写了一个运行良好的shell脚本:

#!/bin/bash

# ~/cryp/java_python/AdditionApplication.bash
# This script should start a py4j server.
# Ref:
# https://www.py4j.org/index.html

cd ~/cryp/java_python/

export JAVA_HOME=${HOME}/jdk
export PATH="${JAVA_HOME}/bin:${PATH}"

javac -cp py4j0.10.6.jar   py4j/examples/AdditionApplication.java
java  -cp py4j0.10.6.jar:. py4j.examples.AdditionApplication

exit
© www.soinside.com 2019 - 2024. All rights reserved.