您的位置:首页 > 其它

[伤不起]JRE版本过低造成Jar包无法运行的记录--9i设置的蛋疼的环境变量!

2011-08-23 00:38 459 查看
练习使用JDBC写个连接工具,在Eclipse中运行挺正常的,导成可执行Jar包,运行一直有问题,一直如下报错:

C:\Documents and Settings\laito\Desktop\runjava>java -jar SimpleCon.jar

Exception in thread "main" java.lang.NoSuchMethodError

at org.eclipse.jdt.internal.jarinjarloader.RsrcURLConnection.getInputStr

eam(RsrcURLConnection.java:43)

at java.net.URL.openStream(Unknown Source)

at sun.misc.URLClassPath$Loader.getResource(Unknown Source)

at sun.misc.URLClassPath.getResource(Unknown Source)

at java.net.URLClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClassInternal(Unknown Source)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Unknown Source)

at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoa

der.java:56)

一直以为自己环境是正常的,就是碰巧还原了下系统,一直没有找到具体原因。从怀疑程序到怀疑Eclipse的设置,到怀疑classpath到Path时才发现原来Path被万恶的9i修改了环境变量,将9i自带的环境变量置前了,造成在1.6编译后的代码打成Jar后运行就会如上的错误。

修改办法:

1、调整程序编译的版本,若没有使用1.5后一些新特性,应该是可以的但不可取,这样提高程序在不同环境上的运行成功率(不过现在还有人用JRE1.3的版本吗?!)

2、修改Path的路径,将Oracle9i设置的环境变量放后。。。(Windos读环境变量是按顺序来读,如果将Oracle9i的设置放后就会让Jre1.6先运行,且不会影响Oracle相关内容,毕竟是向下兼容的)

---这么简单地问题纠结了一晚上……真让人蛋疼。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: