在PATH 变量后面加上“%JAVA_HOME%\bin;%PATH%”,javac 编译说找不到文件,现在只有%JAVA_HOME%\bin;%PATH%,能编译了,但是又出现了:exception in thread "main"java.lang.NOClassDefFoundErro:a <wrong name :test/a>  请各位
给点意见。还有,谁知道win 7 本原来的PATH值是多少,谢谢,

解决方案 »

  1.   

    这是没有找到类,你的classpath路径没设好
      

  2.   

    这是没有找到类,你的classpath路径没设好
      

  3.   

    别这样~你把bin的路径复制下来,比如我的是D:\Program\Java\jdk1.7.0\bin,然后把这个贴path变量后面加分号就好了~最好把类库的也配置下:D:\Program\Java\jdk1.7.0\lib;
      

  4.   

    系统的原本的PATH值你别动,就在它后面加分号然后输入我上面打的~
      

  5.   

    先看看环境变量配置好没有。。
    你cmd 运行 java -version 
    然后 再java 和 javac 看看
    如果都行的话 应该没有什么问题
    你自己再网上找找环境变量 很多的 
      

  6.   

    右键点开我的电脑——>属性——>高级 ——>环境变量——>系统变量添加JAVA_HOME 变量值设为你安装JDK的目录     C:\Program Files\Java\jdk1.6.0_03添加CLASSPATH 变量值设为%JAVA_HOME\lib      C:\Program Files\Java\jdk1.6.0_03\lib给PATH变量添加变量值为;%JAVA_HOME\bin      C:\Program Files\Java\jdk1.6.0_03\bin
      

  7.   

    试了,不好使,说java-version不是内部或外部命令
      

  8.   

    我把JDK又重新安装了一遍 ,路径是E:\JAVA     JAVA_HOME= E:\JAVA     CLASSPATH=.;E:\JAVA\LIB\DT.JAR;E:\JAVA\LIB\TOOLS.JAR;   PATH= E:\JAVA\BIN;
    但是这回    在DOS下运行,他说JAVAC 不是内部或外部命令了,
    等您赐教,谢谢
      

  9.   

    不是把,难道你设置之前dos窗口是没关的?
    或者你的E:\JAVA下没有直接的BIN路径,是否还有什么jdk一类的路径之后才有bin路径?
    你可以在dos窗口试试
    set path=E:\JAVA\BIN;%path%
    set classpath==.;E:\JAVA\LIB\DT.JAR;E:\JAVA\LIB\TOOLS.JAR;
      

  10.   

    首先你要搞明白classpath和path的概念
    1 path是java.exe所在的目录,就是java运行的时候,去哪儿调用java.exe这个命令,一般是在jdk下面的bin目录下,所以path里面添加一个路径+Java\jdkXXX\bin,比如我的是C:\Program Files\Java\jdk1.6.0_20\bin。
    path对应的不仅是java,你安装的应用程序在执行的时候去哪儿找可执行文件的目录呢,就是通过path
    2 classpath是java在执行一个程序的时候,这个程序引用了其他的类,java去哪儿找这些类呢,classpath告诉java,你通过classpath里面的内容就可以找到。在最初你可能只用到了JDK提供的jar,这些jar都放在jdk目录下的lib文件里面,所以添加classpath就是添加一个路径+Java\jdkXXX\lib\xxx.jar 比如我的是.;C:\Program Files\Java\jdk1.6.0_20\lib\dt.jar;C:\Program Files\Java\jdk1.6.0_20\lib\tools.jar;C:\Program Files\Java\jdk1.6.0_20\lib\jconsole.jar
    注意,千万别忘了.; 这是表示当前路径。至于JAVA_HOME,就跟程序里面的常量定义一样,你用的话,下次修改JDK路径就方便,不用的话就一个个修改,可有可无的东西
      

  11.   

    对了 还有一个设置classpath常见的错误:
    比如我在d:\test\下面定义了一个包socket,在socket下面定义了一个Hello.java程序,编译之后没有问题,但是dos运行java Hello的时候就会报exception in thread "main"java.lang.NOClassDefFoundErro:a <wrong name :test/a>这类的错误
    这个问题的原因往往是你在socket目录下直接运行java Hello,这种用法是错误的,应该在test目录下执行 java socket.Hello我刚学的时候也在这个问题上纠缠了很久,其实只要你弄懂了原理,设置path和classpath就是很随意的事
      

  12.   

    classpath配置的时候要加上当前目录的 即 .;javac命令所在的的目录  //. 代表当前目录