Java源代码未显示(IntelliJ?)

Java源代码未显示(IntelliJ?),java,intellij-idea,Java,Intellij Idea,我正在使用IntelliJ,并使用Java开发代码 当我对Java内置功能(例如ArrayList)使用“Go to Declaration”[Ctrl+B]时,它会将我带到该类(例如ArrayList.class),看起来有点像这样: // IntelliJ API Decompiler stub source generated from a class file // Implementation of methods is not available package java.ut

我正在使用IntelliJ,并使用Java开发代码

当我对Java内置功能(例如ArrayList)使用“Go to Declaration”[Ctrl+B]时,它会将我带到该类(例如ArrayList.class),看起来有点像这样:

// IntelliJ API Decompiler stub source generated from a class file  
// Implementation of methods is not available

package java.util;

public class ArrayList <E>  extends java.util.AbstractList<E>
implements java.util.List<E>, java.util.RandomAccess,
java.lang.Cloneable, java.io.Serializable {

private static final long serialVersionUID = 8683452581122892189L;
private static final int DEFAULT_CAPACITY = 10;
private static final java.lang.Object[] EMPTY_ELEMENTDATA;
private transient java.lang.Object[] elementData;
private int size;
private static final int MAX_ARRAY_SIZE = 2147483639;

public ArrayList(int i) { /* compiled code */ }

public ArrayList() { /* compiled code */ }

public ArrayList(java.util.Collection<? extends E> es) { /* compiled code */ }
//从类文件生成的IntelliJ API反编译器存根源代码
//方法的实现不可用
包java.util;
公共类ArrayList扩展了java.util.AbstractList
实现java.util.List、java.util.RandomAccess、,
java.lang.Cloneable,java.io.Serializable{
私有静态最终长serialVersionUID=86834525811122892189L;
专用静态最终int默认_容量=10;
私有静态final java.lang.Object[]空的元素数据;
私有瞬态java.lang.Object[]elementData;
私有整数大小;
私有静态最终整数最大数组大小=2147483639;
公共ArrayList(int i){/*编译代码*/}
公共ArrayList(){/*编译代码*/}

public ArrayList(java.util.Collection您应该能够在项目结构(ctrl+alt+shift+S)设置中配置它,如下所示:


您的JDK是否指向无效的源路径?

我使用的是Ubuntu 16.04和OpenJDK 8。 为了获得JDK源代码,我必须单独安装一个附加包:

sudo apt-get install openjdk-8-source

感谢您提供的解决方案。

我似乎没有src.zip文件夹?我如何获得它。我是安装错了还是需要安装其他内容?目前没有可供我使用的文件夹sourcepath@YahyaUddin你在使用什么JDK?OpenJDK?另一个?你是如何安装的?我在Oracle官方网站上使用JDK:jdk1.7.040。它不是OpenJDK。@YahyaUddin你确定你得到了JDK而不是JRE吗?我用同样的方式下载了我的。非常感谢!我使用了新的JDK 8,它包含了src,工作很好。非常感谢!!!在arch linux上是“yaourt-s openjdk8-src”,我还必须回到IntelliJ,在“设置>平台设置>SDK>选择我的Java版本”下Sourcepath添加“/usr/lib/jvm/java-8-openjdk”。