java环境编译问题猜想(运行找不到主类或无法找到主类问题)

来源:互联网 发布:加工中心编程简单实例 编辑:程序博客网 时间:2024/05/18 15:56
最近打算系统学习和了解Java编程语言,在装了JDK和JRE后,运行程序,出现找不到或无法加载主类的问题。
当然,随便百度或Google一下,相关解决方法也还算比较多,然而无非是说设置环境变量时,class_path忘加.(英文符".")或是运行程序时字符写错等等,总之,在自己仔细检查了相关所提的问题和重新配置环境变量重启后,问题依然存在,相当让人吐糟,叫苦不迭!
同时,在自己另一台Ubuntu系统上,装了sun JDK,运行相同程序,出现File……Class什么的异常,对于这个问题,经过自己的前因与后果,也知道,原来是系统上安装了openJDK和sun JDK。而编译成中间字节码时时,javac 可能用的是javac 1.6.0……版,而运行时,java 编译器有可能用的是java 1.7.0……,即编译成中间字节码的编译器与编译运行的编译器用的版本是不同的版本号,导致出错。对于这种情况,在查了各种解决办法无效时,就只好用用新立得(可以通过sudo apt-get install synaptic来安装)来找出系统安装的open JDK或其它等安装的JDK,然后单独安装JDK,保证版本一致。具体可以输入java 命令、javac 命令,来根据系统提示安装Java版本和javac版本来保持一致。


为什么会中间提到Ubuntu上这一段经历,这使我又想到了一上述出现“找不到或无法加载主类的问题”的另一种可能原因,而且,对于此,我的另一段经历应可以佐证:过程是,在我Windows系统上安装cygwin之前,以前也作好了java系统环境变量设置,而且,之前写过java程序而且运行成功,而在我安装了cygwin之后,却突然发现,以同样的方式来运行之前的java程序,却同样出现编译成中间代码成功,运行却出现"找不到或无法加载主类的问题。",而这惟一一种解释是cygwin中默认安装了open jdk,而这与我系统原先装的sun jdk是不同版本。


总之,找到了原因,解决之道总会有的