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 回答