1、場景
在閱讀Flink 1.9源碼時,個別類如YarnClientImpl.java只能查看.class文件,想查看對應的.java source文件,點擊Download source時,報Sources not found for: org.apache.flink:flink-shaded-hadoop-2:2.4.1-7.0,配置的是阿里倉庫。
2、解決方法
不停的修改maven依賴倉庫無效。
在maven的倉庫repo1.maven.org中都沒有對應的jar包。
在Flink社區群中請教大佬們,獲得了對應類在GitHub上的源碼,鏈接見Ref 1。查看GitHub上該類源碼最后修改的時間是2014年,對比Flink1.6中該類的源碼,發現是一致的,僅所在jar包的不同。
3、總結
解決問題的思路發散化,類似排查問題思路:source not found -> maven的中央倉庫是否有- >有,則排查maven依賴倉庫和相關配置;否,則可以從開源上找。
開源組件的源碼可以在GitHub上找其源碼,充分利用GitHub。
Ref: