【发布时间】:2019-07-04 23:17:07
【问题描述】:
我创建了一个有编译错误的简单 java 文件(已删除;在第 4 行)。
public class Test {
public static void main(String args[])
{
System.out.println("Hi")
}
}
保存后如果我看到 bin 文件夹,我可以看到正在创建类文件(Test.class)。而如果我们通过 windows 命令提示符编译相同的 java 代码,则不会创建类文件。
Eclipse 生成的编译类文件(下)
public class Test
{
public static void main(String[] paramArrayOfString)
{
throw new Error("Unresolved compilation problem: \n\tSyntax error,
insert \";\" to complete BlockStatements\n");
}
}
您能否告诉我们为什么我们看到文件中存在编译错误的 2 种不同行为。
【问题讨论】:
-
因为与命令提示符相比,IDE 更关注 Java
-
Eclipse 有自己的 Java 编译器,与
javac相比,它能够部分编译带有编译错误的 Java 文件。例如,方法中的编译错误不会阻止执行,只有在调用该方法时才会抛出错误(如果根本不使用该方法,则不会抛出错误)。