成功的安装了JDK和Eclipse后,在开发测试Java工程中,很少会遇到开发环境问题。
这都归功于Eclise通过工程(project)和包(package)把这些管理好。
但偶尔在命令行下编译和运行Java文件时,还会遇到如下错误:
(以下示例都是在Win7上进行)
D:\jtest> java J_Hello
调试此类问题可遵循如下步骤:
1. 检查环境变量PATH和CLASSPATH是否正确设置
2. 检查java源文件中的包名(package)是否正确
下面一些有关环境变量常用命令和注意事项。
1. 在Windows的控制台命令窗口中,通过echo和set命令查看、设置和修改和删除环境变量 (仅对命令窗口有效)
2. 通过Windows的图形界面,查看、设置和修改和删除环境变量(全局有效)
详细内容,请参考 博文:
注意事项:
1. Windows对变量的大小写不区分。path,PATH和Path表示同一个变量。
2. PATH和CLASSPATH变量可包含一个列表,相邻的表项用分号(;)隔开。
PATH=.;D:\j2sdk\bin
CLASSPATH=.;D:\j2sdk\lib
有时java源程序中package设置不当也会导致上述错误。
1. 在java源文件开头没有包声明语句 package your_package;
D:\jtest> javac J_Hello.java
D:\jtest> java J_Hello
Hello, the Java world!
2. 在java源文件开头有包声明语句 package your_package;
D:\jtest>javac J_Hello1.java
D:\jtest>java J_Hello1
Error: Could not find or load main class J_Hello1
错误原因:
编译含有包声明语句的java源程序文件的格式是:
javac -d your_path your_class.java
此命令能在 your_path/your_package/ 下生成 your_class.class。
上面的命令中没有-d选项,javac会在当前目录下生成J_Hello1.class(没有报错)。
但是执行java命令,会因为找不到class而出错。
解决方法:
1. 在当前目录下手工创建com/mypkg/test目录,将移动J_Hello1.class到该目录下。
2. 用 javac -d . J_Hello1.java 编译,将直接生成./com/mypkg/test/J_Hello1.class。
D:\jtest>javac -d . J_Hello1.java
D:\jtest>java com.mypkg.test.J_Hello1
Hello, the Java world!
以下是实例程序:
// J_Hello.java
public class J_Hello {
public static void main(String[] args) {
System.out.println("Hello, the Java world!");
}
}
// J_Hello1.java
package com.mypkg.test;
public class J_Hello1 {
public static void main(String[] args) {
System.out.println("Hello, the Java world!");
}
}
欢迎提出宝贵意见,共同学习提高。
尊重原创,欢迎转载,请注明出处。