【问题标题】:Changing CLASSPATH to JUNIT_HOME/junit-4.12.jar, java command stops working将 CLASSPATH 更改为 JUNIT_HOME/junit-4.12.jar,java 命令停止工作
【发布时间】:2016-06-28 12:09:03
【问题描述】:

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

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

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

【问题讨论】:

    标签: java junit-rule


    【解决方案1】:

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

    如果您的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"
    

    【讨论】:

      【解决方案2】:

      你有更多的 jars 需要放在类路径上吗? JUNIT 仅用于测试目的,我猜您还需要在类路径上添加您正在使用的所有依赖项。 另一方面,通过系统环境变量来做到这一点并不是一个好主意。另请查看java -classpath 命令,然后您可以为一个应用程序或命令添加类路径依赖项。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-09-28
        • 2012-09-23
        • 2018-12-16
        • 1970-01-01
        相关资源
        最近更新 更多