2017-12-23 12 views
2

私はJavaに慣れていないので、Linuxホストで簡単なJavaファイルを実行したい。Linuxシェルから単純なクラスファイルを実行するには?

私は、単純なシェルコマンドを開始しました:それはこれをインポートすることを

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

は注意してください:私は、ファイルは次のようになります上記のフォルダに

をAdditionApplication.javaを入れ

mkdir -p ~/py4j/examples 

import py4j.GatewayServer; 

上記の輸入は、ここでは、コードに依存します:

~/py4j0.10.6.jar 

次は、私は、javaをインストールし、2つのenv変数を設定します。

${JAVA_HOME}/bin/java -version 

:私はそれを見て、このシェルコマンドを使用し

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

をそれは言う:

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) 

次は、私は2つのシェルコマンドを実行しました:

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

上記のコマンドは、クラスファイルを作成:

[email protected]:~ $ 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 
[email protected]:~ $ 

次へ]を、私は別のシェルコマンドを実行した:

[email protected]:~ $ java -cp py4j0.10.6.jar py4j.examples.AdditionApplication 
Error: Could not find or load main class py4j.examples.AdditionApplication 
[email protected]:~ $ 

は質問:どのように私は実行しません〜/ py4j/examples/AdditionApplication.class?

答えて

2

AdditionApplicationのクラスパスも追加する必要があります。

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

:.に注目してください。 :はパス区切り文字で、.は現在のディレクトリです。もちろん、現在のフォルダが~

+0

の場合を想定しています。うまくいく。 SOFは壊れています。私は答えを受け入れることができません。ありがとう! – user3676943

+0

try refreshing :) – ThomasEdwin

関連する問題