java.lang.NoSuchMethodError: java.lang.Long
转自:http://sddhn.blog.163.com/blog/static/12818779201058101032215/
前两天遇到了这个问题::
java.lang.NoSuchMethodError: java.lang.Long: method valueOf(J)Ljava/lang/Long; not found
奇怪吧,在本地和测试服务器上运行的程序都没问题,为什么到生产机就出了这问题呢?而且这个异常本身信息再简单不过了。
原来是这样的:
本地测试的时候JRE是1.5,测试服务器上的JRE也是1/5,但生产机器上的却是1.4,
而出现这个异常时因为使用这个方法
long longVar = lL;
Long l = Long.valueOf(longVar );
Long.valueOf(long) 这个方法是since 1.5 才提供的,在1.4上是没有的,虽然在本机的程序已经设置了编译级别为1.4,可能是因为java api是1.5的原因,未提示这样的写法是1.4所支持的,解决的方法简单,其中之一:
Long l = Long valueOf(String.valueOf(longVar));