2017-12-23 1 views
2

Ich bin neu in Java und ich möchte eine einfache Java-Datei auf meinem Linux-Host ausführen.Wie führe ich eine einfache Klassendatei von der Linux Shell aus?

ich mit einem einfachen Shell-Befehl gestartet:

mkdir -p ~/py4j/examples 

Ich habe AdditionApplication.java in dem obigen Ordner

Die Datei sieht wie folgt aus:

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

Beachten Sie, dass es importiert diese :

import py4j.GatewayServer; 

Die obige Import hängt von Code hier:

~/py4j0.10.6.jar 

Weiter Ich installierte Java und legen Sie zwei env Variablen:

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

ich diesen Shell-Befehl verwenden, um es zu sehen:

${JAVA_HOME}/bin/java -version 

Es sagt:

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) 

Weiter lief ich zwei Shell-Befehle:

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

Der obige Befehl eine Klassendatei erstellt:

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

Next ich eine andere Shell-Befehl lautete:

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

Frage: Wie kann ich laufen ~/py4j/Beispiele/AdditionalApplication.class?

Antwort

2

Sie müssen Klassenpfad auch für AdditionApplication hinzufügen.

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

Beachten Sie die :.. : ist Pfadtrennzeichen, . ist aktuelles Verzeichnis. Natürlich wird davon ausgegangen, dass der aktuelle Ordner ~,

+0

ist:. funktioniert gut. SOF ist gebrochen tho; Ich kann die Antwort nicht akzeptieren. Danke! – user3676943

+0

versuchen, erfrischend :) – ThomasEdwin

Verwandte Themen