【问题标题】:Undefined variable not shown as error with Java EclipseJava Eclipse 中未定义的变量未显示为错误
【发布时间】:2014-07-25 09:02:44
【问题描述】:

使用Eclipse进入并编译下面的Java类并没有标记代码中的任何错误

public class Test {
    public static void main(String args[]) {
        xCase = yCase + 100;
    }
}

标识符 xCase 和 yCase 未定义这不可能是正确的,所以运行命令行 编译器检查它给了我2个错误

C:\Test>javac Test.java
Test.java:5: error: cannot find symbol
                xCase = yCase + 100;
                ^
  symbol:   variable xCase
  location: class Test
  Test.java:5: error: cannot find symbol
                xCase = yCase + 100;
                        ^
  symbol:   variable yCase
  location: class Test
  2 errors

为什么 Eclipse 不向我显示这些错误?

【问题讨论】:

  • 如果您尝试运行代码会发生什么?你确定它实际上是构建代码吗? (这是在 Java 项目中还是在源目录中?)
  • @JonSkeet 如果代码无法编译,他如何运行代码?
  • @PeterRader:这就是重点 - OP 期望编译时错误,这表明他们期望编译它。也许自动编译已关闭?通过运行代码,这将强制编译...
  • @JonSkeet 如果 eclipse 发现它还没有编译,eclipse 会自动编译并在编辑器中显示错误。
  • @PeterRader 当然可以,但是可以禁用此功能。 Jon Skeet 试图告诉你 OP 可能禁用了这个选项,所以通过要求 eclipse 运行代码,编译将被强制并且应该出现编译时错误。

标签: java eclipse variables declaration


【解决方案1】:

先解决“标记”视图中的红色标记。

【讨论】:

  • 我不知道标记的错误如何影响其他错误标记。 Java 源文件中的第一个错误标记不必是源文件中的第一个错误[自上而下]。更正一个错误[女巫删除错误标记]可以在更正行的上方或下方显示新的错误标记,或者从文件中删除一个或多个错误标记。
  • 每个标记都有副作用错误,无论是否显示。 Eclipse 尝试了解什么是副作用错误并标记不标记它们,因为它们是非激进的。在您的情况下,java.lang.Object 类中可能存在一个可访问字段,所以我猜您拥有的任何激进标记就像找不到指定的 JDK。 ;D
【解决方案2】:

您可能禁用了Project -> Build Automatically

可能您没有在首选项中正确配置 JavaJDK/JRE?

您可能在偏好设置/属性页面中禁用了错误/警告?

很多原因都是可以想到的......

【讨论】:

    【解决方案3】:

    检查项目>自动构建。

    Eclipse 倾向于运行以前的 java 文件。确保不是问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-17
      • 1970-01-01
      • 2015-09-06
      • 2023-03-06
      • 1970-01-01
      相关资源
      最近更新 更多