安装oralce后在cmd模式下运行java命令出错:Exception in thread "main" java.lang.UnsupportedClassVersionError: org/getopt/luke/Luke (Unsupported
来源:互联网 发布:开淘宝店怎么弄 编辑:程序博客网 时间:2024/06/13 23:46
记得最后一次在cmd模式下运行java命令是2-3个月前做Lucene索引,今天一运行
D:/>java -jar lukeall-0.8.1.jar
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/getopt/lu
ke/Luke (Unsupported major.minor version 49.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
还以为自己命令记错了,网上查一下没错啊,输入java查看的帮助也是这样啊。
在JavaWorld@TW论坛里了解到:
原来安装oracle后会导致这个问题的出现,自己的电脑前段时间就安装了oracle。
C:/Documents and Settings/USER>java -version
java version "1.3.1_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1
Java HotSpot(TM) Client VM (build 1.3.1_01, mixed mode)
C:/Documents and Settings/USER>javac -version
javac 1.6.0_05
终于明白为什么当初自学jbpm时在用ant脚本建表报错,使我查看这两个的版本会不一样的疑问。
开始——搜索——java.exe
解决方法:
右击‘我的电脑’——高级——环境变量
——User的用户变量
Path路径中第一个已经是:D:/jdk1.6.0_05/bin;
——系统变量
Path路径是:
D:/oracle/ora92/bin;C:/Program Files/Oracle/jre/1.3.1/bin;C:/Program
Files/Oracle/jre/1.1.8/bin;%JAVA_HOME%/bin;%SystemRoot%/system32;%SystemRoot%;%SystemRoot%/System32/Wbem; …
把%JAVA_HOME%/bin;放在最前面,关闭已打开的cmd窗口,重新打开一个cmd窗口:
C:/Documents and Settings/USER>java -version
java version "1.6.0_05"
Java(TM) SE Runtime Environment (build 1.6.0_05-b13)
Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharing)
Warning: The encoding 'GBK' is not supported by the Java runtime.
补充一些知识:Eclipse下JRE环境
[转]区分Eclipse中的两种JRE
- 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://kimva.blogbus.com/logs/30533484.html
今天一个CownewStudio的使用者通过QQ问我他的Eclipse安装CownewStudio以后在eclipse中可以看到studio,但是运行的时候提示类加载错误。因为CownewStudio目前的版本只支持JDK5,所以我询问他Eclipse使用的是不是1.4的JRE,但是他确认它用的就是1.5的。
后来经过实验,我确认还是JRE版本的问题,他就把他的Eclipse截图发给了我,以证明他用的是JDK1.5,但是我发现他发过来的图片工程编译器配置对话框的。哈哈,我终于明白了,让他把Eclipse的配置详细信息(“帮助”=》“关于Eclipse”=》“配置详细信息”)发过来,果然:
-vm(其后的参数值要换行写,且之间不能有多余空格)
c:/programe/jdk1.4.2/jre/bin/javaw.exe
原来他装了多个版本的JDK。我要他把JDK1.5目录下的JRE目录拷贝到eclipse安装目录下,然后重启Eclipse,一切工作正常了。
其实这是很多刚刚接触Eclipse、甚至用了好长时间Eclipse的开发人员经常犯的错,也就是把Eclipse运行时的JRE与工作空间中项目所用的JRE版本弄混乱。
Eclipse也是一个普通的Java程序,因此必须有一个JRE做为运行环境。如果你的机器上没有安装任何JRE(或者JDK,本文不做二者的区分),那么点击eclipse.exe就会报错说找不到JRE。此时可以安装一个JRE、或者直接把JRE目录拷贝到eclipse安装目录下。
在Eclipse的每个项目中可以为项目指定不同的JRE版本,比如A项目使用JDK1.4编译,B项目使用JDK1.5编译。这个JDK版本是和Eclipse运行JRE没有直接关系的。
项目的JDK版本是很容易修改的,那么任何指定Eclipse启动所用的JRE呢?
Eclipse启动的时候找JRE的顺序是:
u 如果eclipse.ini中配置了-vm参数,那么则使用这个参数指定的JRE;
u 否则就去查看eclipse安装目录下是否有JRE文件夹,如果有的话就使用这个JRE;
u 否则的话就去系统中查找安装的JRE,如果还找不到的话就报错。
所以如果不想卸载掉其他的JDK的话,可以有两种方式:
(1)直接把要使用的JRE文件夹拷贝到Eclipse目录下,这是懒人常用的方法(2)修改eclipse.ini文件,添加-vm参数,指定要运行的虚拟机的地址,使用 -vm 命令行自变量例子:
-vm
c:/jre/bin/javaw.exe
系统安装多个版本jre时的指定使用
当在控制台执行java.exe,操作系统寻找JRE的方式如下:先找当前目录下有没有JRE
再找父目录下有没有JRE
接着在PATH路径中找JRE
注册表HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Runtime Environment/ 查看CurrentVersion的键值指向哪个JRE (注册表中此JavaSoft项是在安装卸载JRE时自动创建和删除)最常用的是在PATH路径中找JRE,一般情况下,自己的程序运行之前都会先在批处理文件里面临时设置PATH,把自己用的JRE放到PATH路径最前面,所以肯定会运行自己带的JRE,不会造成版本混乱。
- 安装oralce后在cmd模式下运行java命令出错:Exception in thread "main" java.lang.UnsupportedClassVersionError: org/getopt/luke/Luke (Unsupported
- Java命令行出错Exception in thread "main" java.lang.UnsupportedClassVersionError:
- 命令行出错Exception in thread "main" java.lang.UnsupportedClassVersionError
- 命令行出错Exception in thread "main" java.lang.UnsupportedClassVersionError:
- Maven运行异常:Exception in thread "main" java.lang.UnsupportedClassVersionError
- Exception in thread "main" java.lang.UnsupportedClassVersionError:
- Exception in thread "main" java.lang.UnsupportedClassVersionError
- Exception in thread “main" java.lang.UnsupportedClassVersionError
- Exception in thread "main" java.lang.UnsupportedClassVersionError
- Exception in thread "main" java.lang.UnsupportedClassVersionError
- Exception in thread ”main“java.lang.UnsupportedClassVersionError
- Exception in thread "main" java.lang.UnsupportedClassVersionError
- Exception in thread "main" java.lang.UnsupportedClassVersionError
- 安装maven出现错误:Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/
- Exception in thread “main” java.lang.UnsupportedClassVersionError: com/crunchify/Main : Unsupported
- Exception in thread "main" java.lang.UnsupportedClassVersionError:Unsupported major.minor version 52
- Exception in thread "main" java.lang.UnsupportedClassVersionError:Unsupported major.minor version 52
- Exception in thread "main" java.lang.UnsupportedClassVersionError: Filter(Unsupported major.minor ve
- 性能调试---(一)性能分析准则
- WebKit Browsers including Apple Safari
- SQL SERVER 2005数据导入导出报“错误 0xc00470fe 数据流任务 产品级别对于 组件“源 - TestDB01$”(1) 而言不足”
- 性能调试---(二)性能分析工具
- [转]enum
- 安装oralce后在cmd模式下运行java命令出错:Exception in thread "main" java.lang.UnsupportedClassVersionError: org/getopt/luke/Luke (Unsupported
- 性能调试---(三)CPU性能分析
- PB中调用DLL文件中类的成员
- 解决SQL Server 2005中数据库状态为“可疑”的错误
- HTML 5
- 能调试---(四)内存性能分析
- Linux中使用hgfs实现vmare文件传输
- 性能调试---(五)I/O性能分析
- SQL Server 2000 或 2005 关键字及函数手册