程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> java-在把spring spring-webmvc和 spring-web 作為源碼引入的問題

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

覺得說得對,就打賞吧,不對就來交流一下你的想法。

a2862433
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved