2011-06-30 6 views
2

私は大学でJavaでモジュールを作成しましたが、Eclipseを使用してすべて行っています。今私は戻ってそれを学ぶが、コマンドラインを使用していきたいと思います。コマンドラインからアプリケーションを実行しようとするとエラーが発生しました:クラスが見つかりません

デスクトップにフォルダを設定して、アプリケーションを書き、「MyFirstApp.java」として保存しました。ここでは、次のとおりです。

public class MyFirstApp { 

public static void main (String[] args) { 
    System.out.print("Hello World!"); 

    } 

} 

私は、私のコマンドラインを開いて、適切なディレクトリにcd'dし、「のjavac MyFirstApp.java」と入力してコンパイルしました。 "MyFirstApp.class"という名前のフォルダにファイルが作成されます。私は、「JavaのMyFirstApp」と入力して、これを実行しようとすると、

は、しかし、私はエラーを取得する:

Exception in thread "main" java.lang.NoClassDefFoundError: MyFirstApp 
Caused by: java.lang.ClassNotFoundException: MyFirstApp 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248) 
Could not find the main class: Share.class. Program will exit. 

私も、「Javaの-cp.MyFirstApp」と入力して実行してみましたが、その後、私はこのエラーを取得する:

Unrecognised option: -cp.MyFirstApp 
Could not create the Java Virtual Machine 

これは私の環境変数に問題がありますか?私は本当にこのことについてはあまり知らない。

+0

問題はコマンドラインにあり、エラーメッセージに明示的に示されています。 '認識できないオプション... '。 'java -cpを使います。 MyFirstApp' – khachik

答えて

3

あなたはCPとクラス名の間にスペースを追加する必要があります

java -cp . MyFirstApp 
3

ではなく

java -cp . MyFirstApp 

として、それを実行してみてください。 (スペースに注意してください。)

通常、現在のディレクトリがクラスパスにすでにあるように、それはあなたがあなたのCLASSPATH環境変数にカレントディレクトリを持っていないので、これは最も可能性の高い起こっている...、しかし

1

奇妙です。 .classファイルは、実行しようとしているディレクトリに存在していても見つけることができません。

現在のディレクトリ(単一のドット "。")をCLASSPATH環境変数に追加するか、-cp引数を使用してクラスパスを明示的に渡すことができます。

1

(間にスペースを注意してください)このような現在のフォルダにクラスパスを設定してみてください:

java -cp . MyFirstApp 
0

てみ設定することにより、パスとクラスパス