Ubuntu 12.04 を使用しています。FileZilla を使用して小さな Java プログラム (Hadoop Word Count) を Linux サーバーにアップロードしましたが、そのプログラムをサーバー マシンで実行する必要があります。ターミナルを使用してサーバーに接続する方法を知っssh -l user-name ip-of-server
ています。つまり、そこにあるプログラムを実行する方法がわかりません。私のマシンからそのプログラムを実行する方法を教えてください。
2 に答える
ディレクトリに移動して実行する必要があります。これは簡単な要約です。完全なチュートリアルを受講することを強くお勧めします。
最初にホームディレクトリに移動します。サブディレクトリまたは親cd
に変更するために使用できます。cd ..
cd tmp
と
cd ..
コマンドは複数の方法で実行できます。次のように呼び出しjava
ます。
java ClassFile.class -cpPath1:path2
ここで、Path1、path2 などはクラスパス要素です。
以下を使用して、.java を .class にコンパイルできます。
javac File.java -args=blech
ファイルが実行可能な./file
場合は、同じディレクトリまたはcommandName
パス上にある場合に使用します。
まず、サーバーに Java をインストールする必要があります。これは、アクセスできる場合は、ディストリビューションのお気に入りのパッケージ マネージャーを介して行うことがroot
できます。そうでない場合、これは少しトリッキーですが、既にインストールされている可能性があります。
クラス(例)
package my.mega.cool.pack;
public class MyMegaCoolClass
{
public static void main(String[] args)
{
System.out.println("It's working... It's working!!!");
}
}
.class
第二に、問題は、ファイルまたは (実行可能) jar ファイルをアップロードしたかどうかです。
(ここでは ssh を使用して接続します)
ファイルをアップロードした場合.class
は、最初cd
にファイルのパッケージ構造.class
が配置されているベース ディレクトリに移動する必要があります (ディレクトリを変更します。これは UNIX コマンドです)。
クラスがパッケージ
my.mega.cool.pack
にあり、名前が付けられMyMegaCoolClass
、ベースディレクトリが/home/you/mymegacooljavaprogram
.これは、ベース ディレクトリの下に (アップロード時に) パッケージ構造を作成したことを意味します。
my/mega/cool/pack
その結果、完全なファイル パスが生成されます。/home/you/mymegacooljavaprogram/my/mega/cool/pack
クラスは次の場所にあります。
/home/you/mymegacooljavaprogram/my/mega/cool/pack/MyMegaCoolClass.class
これは、あなたがしなければならないことを意味し
cd
ます/home/you/mymegacooljavaprogram
実行します
java my.super.cool.package.MyMegaCoolClass
。
という名前の実行可能jarmyMegaCoolSoftware.jar
を同じベース ディレクトリの下に作成した場合:
cd
ベースディレクトリに移動する必要があります:cd /home/you/mymegacooljavaprogram
そして走る
java -jar myMegaCoolSoftware.jar
通常のjarを作成した場合、
コマンドは次のようになります
java -cp myMegaCoolSoftware.jar my.super.cool.package.MyMegaCoolClass
たとえば、クラスパスで jar ファイルを指定する必要があります。