Intellij IDEA如何查看并添加源码

使用Intellij IDEA开发时,想要学习并查看依赖的源码时,有很多依赖我们进到代码里面,点击IDEA的“Download Sources”选项下载时,经常报错下载不了我们要查看的源码,这里分享一下,如何找到源码并下载,并将源码导入到IDEA中。

下载源码时报错:

java.lang.RuntimeException: Cannot reconnect.
	at org.jetbrains.idea.maven.server.RemoteObjectWrapper.perform(RemoteObjectWrapper.java:82)
	at org.jetbrains.idea.maven.server.MavenEmbedderWrapper.customizeForResolve(MavenEmbedderWrapper.java:52)
	at org.jetbrains.idea.maven.project.MavenProjectResolver.downloadSourcesAndJavadocs(MavenProjectResolver.java:253)
	at org.jetbrains.idea.maven.project.MavenProjectsProcessorArtifactsDownloadingTask.perform(MavenProjectsProcessorArtifactsDownloadingTask.java:40)
	at org.jetbrains.idea.maven.project.MavenProjectsProcessor.doProcessPendingTasks(MavenProjectsProcessor.java:145)
	at org.jetbrains.idea.maven.project.MavenProjectsProcessor.access$000(MavenProjectsProcessor.java:36)
	at org.jetbrains.idea.maven.project.MavenProjectsProcessor$1.run(MavenProjectsProcessor.java:114)
	at org.jetbrains.idea.maven.utils.MavenUtil.lambda$runInBackground$5(MavenUtil.java:494)
	at com.intellij.util.RunnableCallable.call(RunnableCallable.java:20)
	at com.intellij.util.RunnableCallable.call(RunnableCallable.java:11)
	at com.intellij.openapi.application.impl.ApplicationImpl$1.call(ApplicationImpl.java:268)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is: 
	java.net.ConnectException: Connection refused (Connection refused)
	at java.rmi/sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:623)
	at java.rmi/sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:209)
	at java.rmi/sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:196)
	at java.rmi/sun.rmi.server.UnicastRef.invoke(UnicastRef.java:132)
	at java.rmi/java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:217)
	at java.rmi/java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:162)
	at com.sun.proxy.$Proxy171.createEmbedder(Unknown Source)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at com.intellij.execution.rmi.RemoteUtil.invokeRemote(RemoteUtil.java:155)
	at com.intellij.execution.rmi.RemoteUtil.access$400(RemoteUtil.java:25)

点击下载报错
在这里插入图片描述
这里我以 spring-boot-starter-data-redis 为样例找到它对应的源码,并导入到IDEA中

1、我们去哪里找源码?

我们工作中使用的绝大多少开源项目我们都可以在GitHub中找到对应的源码,所以我们要找源码,主要去GitHub上找到对应的项目,再下载它对应版本的源码。

2、如何知道我们要查看的项目的源码和版本号?

首选明确要找的项目的名称和版本号,我们可以在IDEA中定位我们的引入的依赖的名称和版本号,如图,我要找的Springboot中Redis的依赖的名称为spring-data-redis,版本号2.1.2.RELEASE

在这里插入图片描述
3、如何从GitHub中找到源码并下载?

打开GitHub,我们全网搜索关键字:spring-data-redis ,我们知道这个是spring项目模块,所以第一个就是我们的目标了,有时候我们不知道是哪个时候,可以通过星星来排序,一般星星多的就是我们要找的项目。

在这里插入图片描述

进入到项目中,我们点击 “Releases” 进入到发布的版本包,找到我们需要的版本号,这里我要找到是 2.1.2.RELEASE

在这里插入图片描述

找到我们要的版本号,点击zip选项,下载源码

在这里插入图片描述
4、将源码导入到我们的IDEA中

找到我们要引入源码的class文件,点击选择源码选项,找到刚刚下载的源码,点击open,导入源码,等待一会我们的源码就导入进去了

在这里插入图片描述
导入源码的效果:
在这里插入图片描述
欢迎大家评论

猜你喜欢

转载自blog.csdn.net/qq_33505611/article/details/113703951
今日推荐