如何从Linux shell运行一个简单的类文件?

时间:2017-12-23 05:08:04

标签: java

我是Java的新手,我想在Linux主机上运行一个简单的java文件。

我从一个简单的shell命令开始:

mkdir -p ~/py4j/examples

我将AdditionApplication.java放在上面的文件夹

该文件如下所示:

// ~/py4j/examples/AdditionApplication.java

package py4j.examples;

import py4j.GatewayServer;

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();
  }
}

请注意它导入了这个:

import py4j.GatewayServer;

以上导入取决于此处的代码:

~/py4j0.10.6.jar

接下来我安装了java并设置了两个env变量:

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

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

${JAVA_HOME}/bin/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)

接下来我运行了两个shell命令:

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

上面的命令创建了一个类文件:

dan@h79:~ $ ll py4j/examples/AdditionApplication.*
-rw-rw-r-- 1 dan dan 472 Dec 22 20:59 py4j/examples/AdditionApplication.class
-rw-rw-r-- 1 dan dan 431 Dec 22 20:58 py4j/examples/AdditionApplication.java
dan@h79:~ $ 

接下来我运行了另一个shell命令:

dan@h79:~ $ java -cp py4j0.10.6.jar py4j.examples.AdditionApplication
Error: Could not find or load main class py4j.examples.AdditionApplication
dan@h79:~ $

问题:如何运行〜/ py4j / examples / AdditionApplication.class?

1 个答案:

答案 0 :(得分:2)

您还需要为AdditionApplication添加类路径。

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

注意:.:是路径分隔符,.是当前目录。当然,假设当前文件夹为~