关于命令行上执行java命令的错误分析 - Could not find or load main class
来源:互联网 发布:怎样看网络直播送礼物 编辑:程序博客网 时间:2024/06/07 06:15
成功的安装了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
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.javapublic class J_Hello { public static void main(String[] args) { System.out.println("Hello, the Java world!"); }}
// J_Hello1.javapackage com.mypkg.test; public class J_Hello1 { public static void main(String[] args) { System.out.println("Hello, the Java world!"); }}
欢迎提出宝贵意见,共同学习提高。
尊重原创,欢迎转载,请注明出处。
1 0
- 关于命令行上执行java命令的错误分析 - Could not find or load main class
- 如何解决命令行编译运行Java文件时报错Could not find or load main class ...
- java error:Could not find or load main class
- 关于java.lang.NoClassDefFoundError(更新)(Could not find or load main class)
- 在centos中运行java命令时出现Error: Could not find or load main class XXX问题的解决方法
- 关于 Could not find main class 错误
- "Could not find or load main class" in Hadoop or Java using Maven
- Could not find or load main class问题解决
- Eclipse Error: Could not find or load main class [duplicate]
- resolve problem I - Could not find or load main class
- resolve problem II - Could not find or load main class
- Could not find or load main class HelloWorld
- Error: Could not find or load main class xxxx.xxxx
- Could not find or load main class InterfaceDemo
- Error: Could not find or load main class
- Error: Could not find or load main class
- linux-Could not find or load main class
- error: could not find or load main class
- jstl 及tiles在marven中引入
- heap与stack区别
- java中的方法能重写,属性能重写吗?
- UVa OJ 10071,10055,113
- BZOJ 1798 AHOI2009 Seq 维护序列 线段树
- 关于命令行上执行java命令的错误分析 - Could not find or load main class
- Linux修改主机IP并永久生效
- 打造linux下的source insight--YouCompleteMe安装
- storm运行wordcount例子
- 【FastJSON】将FastJSON作为工具类集成到项目中
- 招聘 - ASP.NET MVC初级工程师和Xamarin初级工程师
- 致加西亚的信观后有感
- C和指针 - 读书笔记
- Linux硬连接、软连接的原理 兼述磁盘组成&文件系统类型