4

私は現在、最初のjavaスクリプトを実行しようとしています:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

Javaについて少し調べてみることにしました。しかし、私はコンパイルなどを必要としない JavaScript や PHP などの言語から来ています。

これまでのところ、コマンドプロンプトで正しくコンパイルしていると思います:

C:\Users\Shawn>"C:\Program Files\Java\jdk1.7.0_25\bin\javac.exe" "HelloWorld.java"

次のファイルが追加されますHelloWorld.class

ただし、実際にプログラムを実行しようとすると、次のようになります。

C:\Users\Shawn>"C:\Program Files\Java\jdk1.7.0_25\bin\java.exe" "C:\Users\Shawn\HelloWorld.class"

わかりました、Error: Could not find or load main class C:\Users\Shawn\HelloWorld.class.

ただし、同じコマンドを試してjavac.exe代わりに使用すると、次のようになります。

javac: invalid flag: C:\Users\Shawn\HelloWorld.class
Usage: javac <options> <source files>
use -help for a list of possible options

なぜこうなった?プログラムが正しく実行されないのはなぜですか?

4

3 に答える 3

9

このjavaコマンドは、ファイルの名前ではなく、クラスの名前を取ります。
次に、Java クラス ローダーを使用して.class、現在のディレクトリまたはクラス パスでそのクラスのファイルを検索します。

を渡すと、パッケージで名前がHelloWorld.class付けられたクラスが検索されます (つまり、 になります) 。classHelloWorld.
./HelloWorld/class.class

合格する必要がありますHelloWorld

于 2013-07-21T03:00:26.290 に答える