0

我正在使用 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:\Users\Owner\colorTest\Algorithms\src>

4

2 回答 2

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"
于 2013-08-26T04:38:49.037 回答
0

在命令提示符下试试这个:

cd eclipse-workspace\Project1\src

javaC YourClassToUpdate.java
javaC MainClass.java

java MainClass

并且应该包括您在“YourClassToUpdate”类中的行

于 2018-05-18T21:31:37.620 回答