0

私はJavaで書かれた簡単なプログラムを持っています:

package edu.oakland.lecture;

public class Alfa {

    int a;

    public int getAttribute() {
        System.out.println("returning value of a");
        return a;
    }

    public static void main(String []args) {
        Alfa alfa = new Alfa();
        int number = alfa.getAttribute();
        System.out.println(number);
    }
}

Windows (xp) と os x (lion) の両方で javac を使用してコンパイルできますが、Windows でのみ実行されます。

これは、プログラムをコンパイルするために使用するコマンドです。

javac -d bin source/edu/oakland/lecture/Alfa.java

これは私がそれを実行するために使用するコマンドです:

java -classpath bin; edu.oakland.lecture.Alfa(ターミナル-cpの代わりにも試しました)-classpath

前述したように、Windows 側では期待どおりの出力が得られますが、OS X 側では次のメッセージが表示されます。

-bash: edu.oakland.lecture.Alfa: command not found

私はそれがばかげた単純なものでなければならないことを知っています。私は何を見落としていますか?

ありがとう!

4

1 に答える 1

5

UNIX ライクなシステム (OS X など) のクラスパス区切り文字は、「;」ではなく「:」です。あなたのコマンドはただあるべきです

java -classpath bin edu.oakland.lecture.Alfa

クラスパスに実際にいくつかの異なるコンポーネントがある場合、次のようになります。

java -classpath bin:foo edu.oakland.lecture.Alfa
于 2012-07-12T18:46:52.857 に答える