2014-01-30 19 views
1

我使用Eclipse进行Java在我的MacBook Air,OS 10.9过时的方法。我不断收到错误Obsolete Methods on the Stack,具有约当我运行没有错误非常基本的程序可能会导致怎样的问题与虚拟机的警告。我运行了一个只有类和主要方法的程序,并且出现了这个错误。错误框后,错误指的主要方法,但我知道的语法是正确的,因为我使用Eclipse的主要方法。Eclipse的堆栈

import java.util.Scanner; 

public class Dowhile { 

    public static void main(String[] args) { 
     /*Scanner scanner = new Scanner(System.in); 
     System.out.println("Enter a number"); 
     int value = scanner.nextInt(); 
     System.out.println(value);*/ 
     /*do{ 
      System.out.println("Enter a number "); 
      int value = scanner.nextInt(); 

     } 
     while(value != 5); 
     System.out.println("Got 5");*/ 
    } 
} 

更新:

我不是现在越来越过时的方法错误,只是Exception in thread "main"... at line 5

+2

您正在编辑的程序在调试时,和Eclipse是告诉你它有麻烦让你的源代码,并在同步运行的程序。所以不要这样做。这只是一个警告,而不是程序中的错误或错误。 – Chris

+0

我不明白。我不明白为什么我编辑的程序在调试时,我没有做任何事情后,我跑了。它确实表示代码中存在错误,与主要方法一致。 – slaga

+0

1.请发布您的代码,即使您确定它没有错误。 2.你确定你的程序已经终止? (在eclipse工具栏上没有红色的“停止”按钮) – Chris

回答

1

此错误消息表明您正在执行热代码替换,并且堆栈中的帧不再与正在运行的VM中的类文件相匹配。 重新启动调试会话/目标虚拟机就足够了。

热代码替换(HCR)含义:

它是调试技术,由此在Eclipse Java调试器在调试信道到另一个JVM发送新的类文件。

read more

Bugzilla

Dreamincode