好久没有命令行写代码了,今天用下
命令行出错Exception in thread "main" java.lang.UnsupportedClassVersionError: Filter(Unsupp
orted major.minor version 50.0).

  一运行就报main 函数出错了,意思是没有找到main 函数的入口。可是代码正确啊。到Eclipse 下试试,一切正常,看来不是它的问题。


命令行下输入:javac -version 显示:javac 1.4.2...    
                      java  -version 显示:java  1.6...   

编译和运行环境的版本怎么不一样,JDK 不是明明1.6 吗?装的是jdk 1.6 的怎么就变成1.4 了?
报错原来是用低版本的JDK编译高版本的.class就会报这个错

到环境变量查看了半天也没发现问题,忽然发现PATH中oracle中怎么是1.4.2 了,


C:\Program Files\MySQL\MySQL Server 5.0\bin;D:\oracle\product\10.1.0\Db_4\bin;D:\oracle\product\10.1.0\Db_4\jre\1.4.2\bin\client;D:\oracle\product\10.1.0\Db_4\jre\1.4.2\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\Microsoft SQL Server\80\Tools\Binn\;C:\Program Files\TortoiseSVN\bin;%JAVA_HOME%\bin;%Path%

改为:在PATH 最前面加上 %JAVA_HOME%\

%JAVA_HOME%\bin;C:\Program Files\MySQL\MySQL Server 5.0\bin;D:\oracle\product\10.1.0\Db_4\bin;D:\oracle\product\10.1.0\Db_4\jre\1.4.2\bin\client;D:\oracle\product\10.1.0\Db_4\jre\1.4.2\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\Microsoft SQL Server\80\Tools\Binn\;C:\Program Files\TortoiseSVN\bin;

再到DOS 下试试 ,OK !运行通过。
C:\Documents and Settings\joan>javac -version
javac 1.6.0_02

C:\Documents and Settings\joan>java -version
java version "1.6.0_02"
Java(TM) SE Runtime Environment (build 1.6.0_02-b05)
Java HotSpot(TM) Client VM (build 1.6.0_02-b05, mixed mode, sharing)

C:\Documents and Settings\joan>javac test.java

C:\Documents and Settings\joan>java test

C:\Documents and Settings\joan>




JDK 配置 eg:

set JAVA_HOME= C:\Program Files\Java\jdk1.6.0_02

set PATH=%JAVA_HOME%\bin;%PATH%

set CLASSPATH=.;%JAVA_HOME%\lib