我将JDK1.6所在路径添加到PATH变量 #echo $PATH /usr/local/jdk1.6.0_10/bin:/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11:/usr/games然后用命令,竟然发现不能找到新添加的那个路径下的javac。 #whereis javac javac: /usr/bin/javac /usr/X11R6/bin/javac /usr/bin/X11/javac再看看java的版本,显示版本是最新的 # java -version java version "1.6.0_10" Java(TM) SE Runtime Environment (build 1.6.0_10-b33) Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode, sharing) 然后调试了一个简单的helloword程序,发现以前可以运行的程序都不能运行了,错误提示如下 Exception in thread "main" java.lang.ClassFormatError: Helloworld (unrecognized class file version) at java.lang.VMClassLoader.defineClass(libgcj.so.70) at java.lang.ClassLoader.defineClass(libgcj.so.70) at java.security.SecureClassLoader.defineClass(libgcj.so.70) at java.net.URLClassLoader.findClass(libgcj.so.70) at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.70) at java.lang.ClassLoader.loadClass(libgcj.so.70) at java.lang.ClassLoader.loadClass(libgcj.so.70) at gnu.java.lang.MainThread.run(libgcj.so.70)哪里的问题呢?
...
private ArrayList<Line2D> lines;
...
}
如此定义错误在哪里,是不是1.5以下JDK版本不能如此定义
要用泛型必须要求1.5以上的
window>preferences>java>compiler 右边的版本改一下如果是命令行里有问题 whereis javac 看一下你机子里几个javac 把那个1.6的环境变量排到PATH前面去
#echo $PATH
/usr/local/jdk1.6.0_10/bin:/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11:/usr/games然后用命令,竟然发现不能找到新添加的那个路径下的javac。
#whereis javac
javac: /usr/bin/javac /usr/X11R6/bin/javac /usr/bin/X11/javac再看看java的版本,显示版本是最新的
# java -version
java version "1.6.0_10"
Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode, sharing)
然后调试了一个简单的helloword程序,发现以前可以运行的程序都不能运行了,错误提示如下
Exception in thread "main" java.lang.ClassFormatError: Helloworld (unrecognized class file version)
at java.lang.VMClassLoader.defineClass(libgcj.so.70)
at java.lang.ClassLoader.defineClass(libgcj.so.70)
at java.security.SecureClassLoader.defineClass(libgcj.so.70)
at java.net.URLClassLoader.findClass(libgcj.so.70)
at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.70)
at java.lang.ClassLoader.loadClass(libgcj.so.70)
at java.lang.ClassLoader.loadClass(libgcj.so.70)
at gnu.java.lang.MainThread.run(libgcj.so.70)哪里的问题呢?
但是为什么wherels 找不到新path下的javac呢?