将CLASSPATH更改为JUNIT_HOME / junit-4.12.jar,java命令停止工作

时间:2016-06-28 12:09:03

标签: java junit-rule

当我在系统变量中将CLASSPATH变量更改为JUNIT_HOME/junit-4.12.jar时,我的Java命令停止工作。

例如,当我想执行一个类文件时,我收到错误" 无法找到或加载主类",尽管javac工作正常

当我删除CLASSPATH时,java命令再次开始工作。

2 个答案:

答案 0 :(得分:2)

CLASSPATH变量是告诉应用程序(包括JDK工具)在哪里查找用户类的一种方法。当您执行java命令来启动Java应用程序时,它会启动Java运行时环境,加载指定的类,并调用该类的主要方法。

如果您的CLASSPATH变量设置为JUNIT_HOME/junit-4.12.jar,则只会加载JUNIT_HOME/junit-4.12.jar内的类。因此,您将收到Could not find or load main class错误。

指定类路径的首选方法是使用-cp命令行开关。这允许为每个应用程序单独设置CLASSPATH,而不会影响其他应用程序。

类路径的默认值为".",表示仅搜索当前目录。如果您还想在其他目录中找到类文件,比如c:\otherDirectory中的类,可以将类路径设置为以下内容:

java -classpath ".;c:\otherDirectory"

答案 1 :(得分:1)

你有更多需要进入类路径的罐子吗? JUNIT仅用于测试目的,我猜你需要在类路径中添加你正在使用的所有依赖项。 另一方面,通过系统环境变量执行此操作并不是一个好主意。还请查看java -classpath命令,然后您可以为一个应用程序或命令添加类路径依赖项。