When I try to compile this class with javac, I get a compilation error and Test.class is not created.
public class Test {
public static void main(String[] args) {
int x = 1L; // <- this cannot compile
}
}
But when I create this class in Eclipse, I can see that Test.class appears in target/classes. When I try to run this class from command line with java.exe, I get
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Type mismatch: cannot convert from long to int
Does Eclipse use its own special Java compiler to create a broken .class? How does java.exe know about complilation problems in .class?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…