很奇怪它是怎么找到的,java.exe能执行,但是javac.exe不能执行,报无此命令;我后来发现它好像(只是好像)是执行的jre中的java.exe,因为jre的bin中没有javac所以会报命令找不到,但是jre它是怎么找到的?它难道有自己的路数,不用环境变量?如果有的话真的很想知道一下!哪位高人出来指点一下啊!不胜感激!先在此拜谢了!

解决方案 »

  1.   

    看下系统变量里面是不是有 java.exe的路径
      

  2.   


    系统变量?怎么看啊,变量名应该是什么啊?系统变量里没有那些个相关的路径啊,我觉得是不是jre有自己的一套打路径的方法啊?
      

  3.   

    http://blog.chinaunix.net/uid-20382721-id-1955905.html
    管理员莫名其妙的在机房机器中装了1.4和1.5 2个版本的jre,并且默认为1.4的。
    因为编写环境是1.5所以弄的我每次运行java都很郁闷。
    从网上找到了解决办法。(蓝色字体)
     
     
    当在控制台执行java.exe,操作系统寻找JRE的方式如下:
    先找当前目录下有没有JRE 
    再找父目录下有没有JRE 
    接着在PATH路径中找JRE 
    注册表HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\ 查看CurrentVersion的键值指向哪个JRE
     
    最常用的是在PATH路径中找JRE,一般情况下,自己的程序运行之前都会先在批处理文件里面临时设置PATH,把自己用的JRE放到PATH路径最前面,所以肯定会运行自己带的JRE,不会造成版本混乱。-----------------------------------------------------------------------------我觉得上面这个东西是这个问题要找的,jre在注册表里是有指向的,所以没有环境变量它也可以找到jre中的java.exe
      

  4.   

    这个,其实你没有安装jdk都会有java.exe的,因为win7默认安装了java的虚拟机
      

  5.   


    系统变量?怎么看啊,变量名应该是什么啊?
    在命令行下输入个set就能看到了。
      

  6.   

    最好是卸载了
    我理解的是安装jdk的时候,肯定是要写注册表的,这个东西很麻烦,所以还是卸载了比较安全