0

我安装了新版本的 eclipse Kepler 而不是 Indigo。我当前的操作系统是 Ubuntu 12.04。
一切看起来都很好,并且设置 Ubuntu 更新与 Indigo 相同。

但是error当我尝试运行简单的程序时会发生一些事情:

package polymorphism;

class AlertStatus {
    public String getStatus() {
        return "None";
    }
}

class RedAlertStatus extends AlertStatus {
    public String getStatus() {
        return "Red";
    }
}

class GreenAlertStatus extends AlertStatus {
    public String getStatus() {
        return "Green";
    }
}

class YellowAlertStatus extends AlertStatus {
    public String getStatus() {
        return "Yellow";
    }
}

class Starship {
    private AlertStatus status = new RedAlertStatus();

    public void setStatus(AlertStatus aStatus) {
        status = aStatus;
    }

    public String toString() {
        return status.getStatus();
    }
}

public class StarshipDemo {
    public static void main(String[] args) {
        Starship starfish = new Starship();
        System.out.println(starfish);
        starfish.setStatus(new GreenAlertStatus());
        System.out.println(starfish);
        starfish.setStatus(new YellowAlertStatus());
        System.out.println(starfish);
    }
}

这是错误消息:

Error: Could not find or load main class polymorphism.StarshipDemo

我无法弄清楚为什么会发生此错误以及如何避免它?
这里是java -version

nazar_art@nazar-desctop:~$ java -version
java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode)

问题:

  • 为什么这个错误擦除?
  • 如何解决这个麻烦?

更新:

我在运行程序之前通过保存解决了这个问题:

Ctrl + S => Ctrl + F11

现在一切都很完美,但为什么会发生这种情况

在 Indigo 版本中,我可以随时修复代码并重新运行 ( Ctrl + F11),一切都在重新编译并再次执行。
是否存在任何方法来规避这个“保存”部分?

4

1 回答 1

0

检查以下 Eclipse 首选项(窗口 > 首选项)

运行/调试 > 启动 > “启动前保存所需的脏编辑器”

您可以将其设置为“始终”以在运行/调试之前自动保存任何编辑器。

于 2013-09-21T20:38:55.437 回答