最近,在做eclipse的插件开发,但每次我直接在向导里面用那个hello world的例子,但不知道是什么原因,直接运行的时候是正常的,但是作为插件打包出来之后,放到Eclipse下的plugins下,就出现问题,说什么“The chosen operation is not currently available”。
搞了很久都没找到原因,最后在网上闲逛时,看到一个帖子,楼主说他在装Oracle的时候偶Oracle内置的jre把JAVA的jre给覆盖了,才想到看原来我也是这个问题,难怪每次在Dos下,用javac编译时没问题,而用java命令式却说编译的版本不对的异常,原来装了Oracle之后,也自带了jre环境,也就是有了java命令,但却没有javac命令,每次我调用javac时使用的是JAVA的jre(我装的是1.6版),而调用的java命令运行时,调用的是Oracle的jre下的java命令(Oracle的jre是1.4版),用1.4版的java命令去调用用1.6的javac编译的class文件当然不行了,在插件开发遇到的也是这个问题。
解决办法:1,删去Oracle的jre环境变量
2,把java的jre环境变量放在Oracle的前面
3,在调用命令时手动指定jre目录