0

ちょっと、Eclipseで簡単なプログラムを書きました:

package hw;

public class Assignment02Q01Sec01 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        if (args.length == 0) {
            System.out.println("No arguments!");
            return;
        }
        System.out.println(args[args.length - 1].charAt(args[args.length -1].length() - 1));
    }

}

Eclipse で [実行] メニューを選択すると問題なく実行されますが、コマンド ラインから実行すると失敗します。

c:\Users\ghostcow\workspace\hw\bin\hw>java Assignment02Q01Sec01
Exception in thread "main" java.lang.NoClassDefFoundError: Assignment02Q01Sec01
(wrong name: hw/Assignment02Q01Sec01)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

私は何を間違っていますか?

注:私はcmdのクラスパスにいて、「。」CLASSPATH環境変数に含まれています、私はチェックしました。

編集:ありがとう、問題は解決しました。

4

4 に答える 4

2
cd \Users\ghostcow\workspace\hw\bin\
java hw.Assignment02Q01Sec01
于 2013-10-31T08:47:45.477 に答える
1

bin\hw as ではなく、bin から実行する必要がありますjava hw.Assignment02Q01Sec01

于 2013-10-31T08:47:46.900 に答える
0

Java プログラムは、メイン クラスの修飾名で実行する必要があります。この状況では、「java hw.Assignment02Q01Sec01 ディレクトリ hw のすぐ外側 (ソース コードではなく、コンパイルされたクラス)」である必要があります。

于 2013-10-31T09:07:16.400 に答える
0

次のように実行する必要があります

java hw.Assignment02Q01Sec01

完全修飾クラス名を指定し、bin フォルダーから実行する必要があります。

于 2013-10-31T08:48:06.013 に答える