【问题标题】: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 扩展名)。
祝你好运。