Windows 7 x64Javac不编译,缓存旧文件,也许?
不好的问题描述我知道,但它很难解释。
基本上我试图在最近重新格式化Windows并重新安装Java和所有爵士乐之后,对IntelliJ中的旧程序进行一些调整。无论我在程序中改变了什么,输出都没有改变。没有关系我评论或改变了。
因此,经过一番沮丧之后,我决定做一些基础测试,以确保我不会失去理智。我做了一个全新的目录。在那个目录中,我创建了一个文件(使用Sublime Text,而不是IntelliJ)。您的经典“Hello World”程序。
public class FrequencyCounter {
public static void main(String args[]) {
System.out.println("Hello World");
}
}
这是目录中唯一的文件。冉
javac FrequencyCounter.java
似乎编译罚款,没有错误,产生在目录中FrequencyCounter.class文件。冉
java FrequencyCounter
而得到这个错误:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at FrequencyCounter.main(FrequencyCounter.java:50)
显然,这没有任何意义。就好像它没有在那个目录下运行FrequencyCounter类,而是一些旧的缓存在其他地方。为了理智,我复制了文件,但将其更改为HelloWorld.java
和public class HelloWorld { ..... }
,编译并运行正常(在同一目录中)。
如果有帮助:
D:\Copy\Code\Learning\CS\IntelliJ\test>java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
D:\Copy\Code\Learning\CS\IntelliJ\test>javac -version
javac 1.7.0_07
删除类文件并重试。 – sabbir
现在做了这么多次 –
将源文件移动到另一个文件夹并在那里尝试。当删除课程时,请尝试移动+删除。 – sabbir