Как просмотреть исходный код JRE в Eclipse?

Используя Eclipse, я хочу просмотреть исходный код для основного Java-classа (например, java.util.concurrent.ConcurrentHashMap ), но когда я перехожу к источнику, используя «Open Declaration», он говорит «Источник не найден» и дает мне возможность присоединять источник.

Мой вопрос: как подключить источник? Где я могу получить исходный файл .jar для библиотеки java.util.concurrent ?

Вам необходимо установить JDK. Затем вы можете посмотреть в JDK_INSTALL_DIR\src.zip

Для меня это C:\Program Files\java\jdk1.6.0_11\ (зависит от вашей текущей версии)

Вам не нужно получать специальную версию с открытым исходным кодом.

Когда вы кодируете в Eclipse, нажмите CTRL и щелкните по любому основному имени classа Java в своем источнике. Теперь Eclipse отобразит экран, в котором говорится, что у вас нет установленных источников. Однако на этом экране есть ссылка «Прикрепить источник …». Нажмите эту ссылку и импортируйте файл src.zip из установочного каталога JDK (src.zip). Это должно сделать трюк

Есть несколько хороших ответов здесь, где можно получить источник. Но слово предостережения: я был бы осторожен в том, как вы его используете (если вы используете его просто для справки). Документация API – это единственный контракт, с которым вы должны проконсультироваться, и то, что разработчики будут поддерживать неизменным / неповрежденным между релизами. Я бы не использовал источник, чтобы узнать подробности реализации, а затем закодировать мои приложения в отношении этих деталей реализации, поскольку они могут меняться между версиями.

Вы должны уметь видеть «JRE System Library [jdk1.x.xxxx]», когда вы смотрите на Java Build Path вашего проекта.

Вы можете получить доступ к экрану конфигурации пути проекта: щелкнуть правой кнопкой мыши по проекту -> Путь сборки -> Настроить путь сборки … Вы должны увидеть запись в Системной библиотеке JRE внизу списка.

Самый простой способ просмотра источника для classа – использовать ярлык «Открытый тип». По умолчанию для этого ярлыка: Ctrl + Shift + T “. Класс, который вы ищете, должен появиться по мере ввода имени.

Вы можете перейти на http://openjdk.java.net/ и загрузить последние сборки проекта openJDK. Я думаю, это должно дать вам то, что вам нужно.

Для ubuntu установите openjdk-6-source и используйте /usr/lib/jvm/java-6-openjdk/src.zip

Если вы не можете найти фактический источник, вы также можете использовать декомпилятор для восстановления источника из файла classа.

Лично я использую JAD в сочетании с плагином JADClipse для просмотра источника в Eclipse.

Щелкните правой кнопкой мыши по проекту -> Путь сборки -> Настроить путь сборки. Теперь отредактируйте свой jre> выберите второй вариант alternate jre -> выберите любой jdk ( не jre). Закончить, Теперь откройте любой class ctrl + click, появится его исходный код.

Вне Eclipse вы можете увидеть источники JDK на javasourcecode.org . На этой странице вы можете перейти от официальной документации API к исходному коду и наоборот.

Существует хороший плагин GrepCode, который позволяет просматривать источники java для многих библиотек с открытым исходным кодом.

Вы можете использовать «Decompiler classа Eclipse», объединяющий JD, Jad, «от Eclipse Marketplace».

Из windows поиска на Eclipse Marketplace напишите: «jad», и вы найдете его.

Файл src.zip присутствует в установленной папке jdk: ..\Program Files\Java\jdk1.8.0_131

Предоставьте этот путь на экране, показывающем источник Attach … работал для меня.

  • Объединить два целых массива
  • SimpleDateFormat parse теряет часовой пояс
  • Как включить TLS 1.2 в Java 7
  • длина и длина () в Java
  • как я могу дождаться, когда звуковой клип java завершит воспроизведение?
  • Как использовать invokeAll (), чтобы все пулы streamов выполняли свою задачу?
  • Получение случайного элемента из ArrayList
  • java.util.zip.ZipException: ошибка при открытии zip-файла
  • Как сделать издевательство над недействительными методами с mockito
  • Аргументы командной строки Eclipse
  • Получить читаемый текст только из буфера обмена
  • Давайте будем гением компьютера.