Java命令行编译未更新

Java命令行编译未更新,java,command-line,Java,Command Line,我使用eclipse编写一些代码,但是使用命令提示符编译它,因为我将一个文件重定向到输入,所以最初我编译了java文件,一切正常,但是我做了一些更改,当我重新编译java文件时,它只是显示了以前的结果,而不是编译后应该收到的新结果,为什么会发生这种情况?任何帮助都将不胜感激。请注意,我已尝试重新启动并删除.class和.java文件,并将相同的代码复制到具有相同名称的新java文件中,这没有帮助,但使用新名称创建新文件确实有效…但每次我要运行/测试程序时创建新文件显然不是解决方案 CLASSPA

我使用eclipse编写一些代码,但是使用命令提示符编译它,因为我将一个文件重定向到输入,所以最初我编译了java文件,一切正常,但是我做了一些更改,当我重新编译java文件时,它只是显示了以前的结果,而不是编译后应该收到的新结果,为什么会发生这种情况?任何帮助都将不胜感激。请注意,我已尝试重新启动并删除.class和.java文件,并将相同的代码复制到具有相同名称的新java文件中,这没有帮助,但使用新名称创建新文件确实有效…但每次我要运行/测试程序时创建新文件显然不是解决方案

CLASSPATH变量值:C:\Users\Owner\Desktop\stdlib.jar; C:\Users\Owner\Desktop\algs4.jar

这也是可以在我的命令行上看到的内容:

C:\Users\Owner\colorTest\Algorithms\src>javac QuickUnionUF.java

C:\Users\Owner\colorTest\Algorithms\src>java QuickUnionUF 4.3

3.8

6.5

9 4

2.1

50

7.2

6.1

2部分

C:\Users\Owner\colorTest\Algorithms\src>

CLASSPATH variable:C:\Users\Owner\Desktop\stdlib.jar; C:\Users\Owner\Desktop\algs4.jar;
这可能就是问题所在

java将在这些JAR中查找QuickUnionUF,而不是在当前目录中

尝试:

我相信这会将windows上的类路径设置为空,导致java使用当前目录作为类路径,这是您想要的,因为这是javac输出的地方

或者,如果仍然要使用这些JAR,则将当前目录放在类路径的开头

SET CLASSPATH=".;path\to\stdlib;path\to\algs4.jar"

在命令提示符下尝试以下操作:

cd eclipse-workspace\Project1\src

javaC YourClassToUpdate.java
javaC MainClass.java

java MainClass

你在课堂上的台词你的课堂更新应该包括在内

你试过清理你的项目吗?选择您的项目,然后从顶部菜单使用project->clean…使用命令提示符编译它,因为我正在将文件重定向到输入-这是从命令行javac编译或从命令行java运行的原因。听起来像是晚些时候。你到底在从命令行执行javac还是java,或者两者都执行?@Keith我在执行both@Pshemo我只是尝试了清理,但没有起作用:可能来自eclipse的类要去一个地方,而来自commmand line javac的类要去另一个地方,可能是更深一层的目录,或者类似的东西,您的java运行时类路径只包含其中一个位置,而不是您认为的位置。将您的java和javac命令添加到问题内容以供审阅。难以置信!!!成功了!!!我所做的是在CLASSPATH变量的开头添加:C:\Users\Owner\colorTest\Algorithms\src,我不确定设置CLASSPATH是什么意思,但它现在可以工作了…非常感谢:
cd eclipse-workspace\Project1\src

javaC YourClassToUpdate.java
javaC MainClass.java

java MainClass