【问题标题】:Could not find or load main class , environment variables无法找到或加载主类、环境变量
【发布时间】:2013-02-07 02:24:57
【问题描述】:

我知道这已经出现了很多次,但之前的回复似乎没有帮助。 我的环境变量是:

  • 类路径C:\Program Files\Java\jre7\lib;C:\Program Files\Java\jdk1.7.0_15\bin;
  • 路径C:\Program Files\Java\jdk1.7.0_15\bin;

当移动到如下目录C:\Users\Oli\My Documents\java时,我可以使用javac进行编译,但不能使用java运行他的程序。我知道它很可能与环境变量有关,但我无法让它工作。 P.S 错误是“找不到或加载主类

任何帮助将不胜感激。

【问题讨论】:

    标签: java class load find main


    【解决方案1】:

    取消设置 CLASSPATH 并使用 JVM 提供的默认路径。这是涵盖环境变量的 Java 教程的 link

    【讨论】:

      【解决方案2】:

      CLASSPATH 是 JRE 查找类的地方。您已将 CLASSPATH 设置为一个值,并希望从当前目录运行该类,这将不起作用.. 对于即时解决方案,您可以使用

      java -cp C:\Users\Oli\My Documents\java 类名

      或撤消设置 CLASSPATH。默认 CLASSPATH 是当前目录

      【讨论】:

        【解决方案3】:

        假设您的“.java”文件默认包(未定义包)在“C:\Src”中存在 在这种情况下,您不需要设置 CLASSPATH。

          cd C:\Src
          javac MyJava.java
          java MyJava
        

        如果有包说 com.test

        cd C:\Src
        javac com\test\MyJava.java
        java com.test.MyJava
        

        但是,如果您与源文件不在同一个文件夹中并且想从任何地方运行

        set CLASSPATH=%CLASSPATH%;C:\src
        javac MyJava.java or javac com\test\MyJava.java
        

        和 java com.test.MyJava 或 java com.test.MyJava

        【讨论】:

          【解决方案4】:

          似乎问题不在路径中... 您的代码是否使用“包”语句? (即包 my_package;)

          如果是,进入'java'目录并执行:

          java my_package.MyClass

          其中 'my_package' 是...包的名称,而 MyClass 是您编译的 .java 文件(不带 .class 扩展名)。

          祝你好运。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2019-01-05
            • 2015-02-06
            • 2018-10-10
            • 2014-09-15
            • 2015-09-10
            相关资源
            最近更新 更多