我有一个用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

我知道这一定很愚蠢。我在俯视什么?

谢谢!

最佳答案

在类似UNIX的系统(例如OS X)上,类路径分隔符为':',而不是';'。您的命令应该是

java -classpath bin edu.oakland.lecture.Alfa


如果实际上您的类路径确实有几个不同的组件,则它看起来像:

java -classpath bin:foo edu.oakland.lecture.Alfa

08-18 19:50