Java命令行编译未更新

时间:2013-08-26 03:23:56

标签: java command-line

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

CLASSPATH变量的值:C:\ Users \ Owner \ Desktop \ stdlib.jar; C:\用户\所有者\桌面\ algs4.jar;

这也可以在我的命令行中看到:

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

C:\ Users \ Owner \ colorTest \ Algorithms \ src> java QuickUnionUF< tinyUF.txt

4 3

3 8

6 5

9 4

2 1

5 0

7 2

6 1

2个组件

C:\用户\所有者\ colorTest \算法\ SRC>

2 个答案:

答案 0 :(得分:1)

CLASSPATH variable:C:\Users\Owner\Desktop\stdlib.jar; C:\Users\Owner\Desktop\algs4.jar;

这可能就是问题所在。

java将在这些jar中查找QuickUnionUF,而不是在当前目录“。”中查找。

尝试:

SET CLASSPATH=

我相信这会在Windows上将类路径设置为空白,导致java使用当前目录作为类路径,这就是你想要的(因为这是javac输出的地方)。

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

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

答案 1 :(得分:0)

在命令提示符下尝试:

cd eclipse-workspace\Project1\src

javaC YourClassToUpdate.java
javaC MainClass.java

java MainClass

并且应该包含“YourClassToUpdate”类中的行