java-在把spring spring-webmvc和 spring-web 作为源码引入的问题

问题描述

在把spring spring-webmvc和 spring-web 作为源码引入的问题

之前一直都用的jar包,今天想debug里面的代码,所有想把spring两个需要研究代码的jar包作为源码引入,在spring下载源码解压,引入项目工程如图:
然后观察,里面的一下代码也在报错,貌似引用了一些其他的jar包,暂时没管它如图:
然后启动项目,控制台保存如下:

debug报错代码发现在 RequestMappingHandlerAdapter类执行代码resolvers.add(new ServletRequestMethodArgumentResolver()); 报错
然后进入看此类发现它居然import了这个东西:

百度一下发现java.time.ZoneId不是Java8的东西吗?
我现在就想问,为啥之前用jar包的时候也没报错啊?
jar包的版本和source的版本都是4.0.5,我把jar包反编译了,class类里面也在引用import java.time.ZoneId; 这个东西。
Java环境也同样是在7上。

解决方案

其实人家发布4.0的时候已经支持Java8特性了,你可以选择在编译的时候支持这些特性。
不过Spring Frame在打包的时候已经能够做到自动感知你的环境决定版本了。

也就是lib包会根据你的环境加载类,
但是代码就做不到了,你可以选择eclipse 为Jdk8 版本,complie 选项run config选项里面制定你的运行环境

参考链接:
https://spring.io/blog/2015/04/03/how-spring-achieves-compatibility-with-java-6-7-and-8

觉得说得对,就打赏吧,不对就来交流一下你的想法。

解决方案二:

http://blog.csdn.net/lishehe/article/details/38355757

解决方案三:

那可能作为工程和作为jar包是不一样的,你找个8的环境试试看

解决方案四:

你应该下载spring源码,然后再引入工程
下载源码说明请看我的博客: http://blog.csdn.net/paincupid/article/details/43902437http://blog.csdn.net/paincupid/article/details/43902437

http://blog.csdn.net/paincupid/article/details/43902437

时间: 2024-10-26 23:54:02

java-在把spring spring-webmvc和 spring-web 作为源码引入的问题的相关文章

java c-如何用C语言或者JAVA实现字长为八位数的二进制定点数转换为源码反码补码?

问题描述 如何用C语言或者JAVA实现字长为八位数的二进制定点数转换为源码反码补码? 老师要求的简单作业,但我是大二才转的计算机科学与技术专业,基础几乎为0!哪位能帮写一个,最好能有注释,这可能有点麻烦,没注释的也可以,我有了源代码可以自己琢磨琢磨!跪谢了在此!

Spring Data Redis—Pub/Sub(附Web项目源码)

一.发布和订阅机制 当一个客户端通过 PUBLISH 命令向订阅者发送信息的时候,我们称这个客户端为发布者(publisher). 而当一个客户端使用 SUBSCRIBE 或者 PSUBSCRIBE 命令接收信息的时候,我们称这个客户端为订阅者(subscriber). 为了解耦发布者(publisher)和订阅者(subscriber)之间的关系,Redis 使用了 channel (频道)作为两者的中介 -- 发布者将信息直接发布给 channel ,而 channel 负责将信息发送给适当

Spring Data Redis—Pub/Sub(附Web项目源码) (转)

一.发布和订阅机制 当一个客户端通过 PUBLISH 命令向订阅者发送信息的时候,我们称这个客户端为发布者(publisher). 而当一个客户端使用 SUBSCRIBE 或者 PSUBSCRIBE 命令接收信息的时候,我们称这个客户端为订阅者(subscriber). 为了解耦发布者(publisher)和订阅者(subscriber)之间的关系,Redis 使用了 channel (频道)作为两者的中介 -- 发布者将信息直接发布给 channel ,而 channel 负责将信息发送给适当

基于spring+hibernate+JQuery开发之电子相册(附源码下载)_java

项目结构: 开发之电子相册(附源码下载)_java-spring hibernate源码"> 项目首页: 注册页面: 上传图片: 效果图一: 效果图二: 效果图三: ============================================================= 下面是代码部分 ============================================================= 需要用到的数据库SQL: 复制代码 代码如下: drop dat

Maven+Mybatis+Spring+SpringMVC实现分页查询(附源码)

版权声明:本文为博主原创文章,转载注明出处http://blog.csdn.net/u013142781 目录(?)[+] 下面小宝鸽将分享一篇Mybatis分页功能的博文,下面将给出详细的步骤,跟着博主的节奏肯定能实现.另外最后还会附上整个工程的源码.如果是没有使用过maven的猿友可自行下载相关的jar包即可. 一.项目搭建 关于项目搭建,小宝鸽以前写过一篇Spirng+SpringMVC+Maven+Mybatis+MySQL项目搭建,这篇文章提供了详细的搭建过程,而且提供了源码下载,接下

详解Java豆瓣电影爬虫——小爬虫成长记(附源码)_java

以前也用过爬虫,比如使用nutch爬取指定种子,基于爬到的数据做搜索,还大致看过一些源码.当然,nutch对于爬虫考虑的是十分全面和细致的.每当看到屏幕上唰唰过去的爬取到的网页信息以及处理信息的时候,总感觉这很黑科技.正好这次借助梳理Spring MVC的机会,想自己弄个小爬虫,简单没关系,有些小bug也无所谓,我需要的只是一个能针对某个种子网站能爬取我想要的信息就可以了.有Exception就去解决,可能是一些API使用不当,也可能是遇到了http请求状态异常,又或是数据库读写有问题,就是在这

Java集合学习(十六) HashSet详细介绍(源码解析)和使用示例

这一章,我们对HashSet进行学习. 我们先对HashSet有个整体认识,然后再学习它的源码,最后再通过实例来学会使用HashSet. 第1部分 HashSet介绍 HashSet 简介 HashSet 是一个没有重复元素的集合. 它是由HashMap实现的,不保证元素的顺序,而且HashSet允许使用 null 元素. HashSet是非同步的.如果多个线程同时访问一个哈希 set,而其中至少一个线程修改了该 set,那么它必须 保持外部同步.这通常是通过对自然封装该 set 的对象执行同步

Java集合学习(十二) TreeMap详细介绍(源码解析)和使用示例

这一章,我们对TreeMap进行学习. 第1部分 TreeMap介绍 TreeMap 简介 TreeMap 是一个有序的key-value集合,它是通过红黑树实现的. TreeMap继承于AbstractMap,所以它是一个Map,即一个key-value集合. TreeMap 实现了NavigableMap接口,意味着它支持一系列的导航方法.比如返回有序的key集合. TreeMap 实现了Cloneable接口,意味着它能被克隆. TreeMap 实现了java.io.Serializabl

Spring+EhCache缓存实例(详细讲解+源码下载)

版权声明:本文为博主原创文章,转载注明出处http://blog.csdn.net/u013142781 目录(?)[+] 一.ehcahe的介绍 EhCache 是一个纯Java的进程内缓存框架,具有快速.精干等特点,是hibernate中默认的CacheProvider.Ehcache是一种广泛使用的开源Java分布式缓存.主要面向通用缓存,Java EE和轻量级容器.它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP