2013-07-19 23 views
7

私はLinux環境ではとても新しいです。エラー:メインクラスxxxを見つけることができませんでした。Linux

私はLinux環境で単純なhello world Javaクラスを実行しようとしています。

こんにちは

package com.util; 

    public class Hello { 

     /** 
     * @param args 
     */ 
     public static void main(String[] args) { 
      System.out.println("hi"); 

     } 

    } 

を.javaファイルIは、Windows環境でJavaクラスをコンパイルし、ホーム/スクリプトのパス/にLinuxシステムへの.classファイルをアップロードしています。次のように私はHello.classがあり、これと同じ/ホーム/スクリプトからこのコマンドを実行していたときに

私のコマンドは、

java -cp /home/scripts com.util.Hello 

である私は、

エラーを取得しています:見つかりませんでしたかメインクラスcom.util.Helloをロードし、さらに進めることはできません。

この問題で私を助けることができますか?

のjavac ./hello.java

このコマンドが生成したhello.classファイル そして、あなたはあなたのクラスファイルを実行することができた後:まず、あなたの.classファイルを生成しなければならない時

+0

は "my class"はJavaファイルかクラスファイルですか? – giorashc

+0

まずコンパイルしましたか? ( 'javac') –

+0

私はこれをWindows環境でコンパイルし、クラスファイルをlinuxシステムにアップロードしました。com.util.Helloは.classファイルです – user1660325

答えて

6

ナビゲートへ/ホーム/スクリプトあなたは、現在のプログラムを実行する場合作業ディレクトリあなたのクラスが住んでいる場所。

javaには3つのオプションがあります。

現在の作業ディレクトリ

のjava -cpため

のjava -cpテスター

番目のオプション最初のオプション。テスター

第三の選択肢輸出CLASSPATH変数

輸出CLASSPATH = $ CLASSPATH :.あなたはbashrcにまたはbashprofileをsorceしなければならないか、その後

輸出CLASSPATH = $ PWD

または

輸出CLASSPATH =

(これは最良の1ディレクトリが変更された場合です)。

+0

thanqそれほど多くの作業 – user1660325

2

! :)

のjavaこんにちは

+0

パッケージ名は..ですので、パッケージ名も含めてください... – Shashi

0

あなた.classファイルが/home/scripts/に存在しますが、/home/scripts/com/util/ではいけません。クラスパスとパッケージとディレクトリの関係を説明しているthis documentを見てください。ターミナル

javac com/util/Hello.java 

その後、

cd /home/scripts 
java -cp . com.util.Hello 

あるいは、

java -cp "/home/scripts" com.util.Hello 
+0

私は/ home/scripts/com/util/pathにクラスファイルをコピーしました私はこのjava -cp/home/scripts com.util.Helloを試しましたが、まだ同じエラーが観察されています – user1660325

1

まず、javacコマンドがうまく動作することがわかります。

このエラーも発生しましたが、これを解決しました。私はこれを共有してください。

まず、javaコードでパッケージの親パスを見つける必要があります。

次に、javaパッケージ+ファイル名を使用してそのパスに移動すると、その時点で正常に動作するはずです。

1

私はウィンドウで全く同じ問題を抱えていましたが、パス "を追加して解決しました。" CLASSPATHとPATHの両方に、おそらくLinuxでもこれを試すことができます。

0

パスを指定する前に、1 は、パスを指定する前に、コマンドプロンプトウィンドウを閉じて、あなたは細心の注意を払ってこれらの3つのことを従って確認してください。 2. のパスを追加する場合は、末尾にbinとセミコロンを追加してください。と 3. JAVACコマンドが正しく機能している場合は、java -cp class nameを試してください。

関連する問題