2010-05-24 2 views
118

Я хотел бы посмотреть, что делает метод в Java API. Поэтому я хочу исходный код JDK. Прежде чем я переустановил Linux, у меня был пакет src.zip со всем официальным исходным кодом. Мне просто нужно было сказать Eclipse, где находится этот файл, и я мог видеть код. Но теперь у меня больше нет файла ...Где найти исходный код Java JDK?

Вопрос в таком виде: Где его найти?

+14

Я всегда нашел файл 'src.zip', который содержит открытый Java API в каталоге установки JDK. Это то, что вы ищете (в основном я использовал Windows, поэтому, возможно, у дистрибутива Linux этого нет). – Ash

+14

Это очень странно, что этот вопрос стоит # 3 в google при поиске источника JDK. # 1 и # 2 - ссылки Oracle, у которых нет ссылок на исходный код. Я всегда рассматриваю этот вопрос при установке JDK. Оракул, пожалуйста. – Hoto

+3

src.zip - это исходный пакет для основного API. Нет общедоступных источников для всего Java SE от Oracle, некоторые части являются закрытыми исходными кодами. Однако, в зависимости от платформы, вы можете установить и использовать в двоичном формате OpenJDK со 100% доступными источниками. Для источников - перейдите к openjdk.java.net и клонируйте репозиторий источников для нужной вам версии. Для двоичных файлов - несколько поставщиков предоставляют такие двоичные файлы, в том числе IcedTea для linux. –

ответ

115

Вы не сказали, какую версию вы хотите, но архив исходного кода JDK 8 может быть downloaded here, наряду с JDK 7 и JDK 6.

Кроме того, вы можете просматривать или клонировать хранилища Mercurial: 8, 7, 6.

+1

Да; скажем, я хочу 6, а затем на этой странице загрузки, что мне нужно скачать? Большой файл 'jdk-6u21-ea-src-b04-jrl-05_may_2010.jar, 136.48 MB'? Я уже скачал этот. Но не содержит исходного кода. –

+3

@Martijn: Вы пытались загрузить большой файл jar и затем прочитать README внутри него? В основном вы просто запускаете его с помощью java -jar jdk-6u21-ea-src-b04-jrl-05_may_2010.jar'. Он будет извлекать источник. –

+0

См. Также http://stackoverflow.com/questions/2803498/where-do-i-find-the-javax-crypto-source-code/ – polygenelubricants

4

Этот файл содержится в файле standard JDK download. Кроме того, ваша система Linux, вероятно, имеет JDK в репозитории. В моем файле Ubuntu Linux находится здесь: /usr/lib/jvm/java-6-sun-1.6.0.20/src.zip

+0

Aha! Можете ли вы опубликовать, какие пакеты вы установили для своей виртуальной машины Java и JDK, пожалуйста. Потому что у меня нет этой папки. –

+0

Я установил sun-java6-jdk. – vbezhenar

2

Да! Понял!

Я загрузил Java Developer Kit (JDK) из sun.com для Linux. Был src.zip. Но сначала я удалил все пакеты Java с помощью синаптики.

+0

Обратите внимание, что в Linux нет необходимости устанавливать root для установки Java. Я всегда (с тех пор более десяти лет) устанавливаю Java как пользователя без полномочий root на своих Un * x системах (так, нет, я не использую apt-get/synaptic/whatever). – SyntaxT3rr0r

10

У меня была эта проблема с моим Ubuntu.

Все, что мне нужно сделать, чтобы получить источники для моего Java insallation был:

sudo apt-get install sun-java6-source 
+0

On Ubuntu 14.04: 'E: Не удалось найти пакет sun-java6-source' – Nateowami

1

Официальная ссылка уже не предлагает исходный код. Официальная ссылка и случайные поисковые запросы Google выведут вас с открытым jdk. Открытый jdk вызывает проблемы с сборкой Android, если файлы сценария сборки не изменены. Оригинальный пакет можно найти здесь:

Суды надстройка apt-репозиторий «Деб http://ppa.launchpad.net/ferramroberto/java/ubuntu Oneiric главного»

Этого репозиторий все еще имеет пакет ВС-java6-источник. Кредит: http://pulasthisupun.blogspot.com/2012/05/installing-sun-java-6-with-apt-get-in.html

8

JDK 1,6 настоящее время я использую на OSX Mountain Lion не пришел с src.zip либо, и, насколько я могу сказать, что нет поддерживается OSX JDK для 1.6 доступен больше.

Я скачал OpenJDK источник (с помощью ссылки из принятого ответа (+1)), а затем выбежала:

cd ~/Downloads 
mkdir jdk6src 
cd jdk6src 
tar xf ../openjdk-6-src-b27-26_oct_2012.tar.gz 
cd jdk/src/share/classes 
jar cf /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/src.jar * 

(ваши имена файлов и пути могут меняться ...)

Associate что src.jar с соответствующей платформой Java в вашей среде IDE, и вам должно быть хорошо идти.

Есть некоторые расхождения между источником OpenJDK и JDK, которые я сейчас выполняю (номера строк не совпадают в отладчике, для одного), но если все, что вам нужно, это zip/jar, чтобы указать вашу среду IDE для относительно небольшого числа случаев вам нужно заглянуть в какой-то код, чтобы понять, как что-то работает, тогда это должно сделать трюк.

+1

thx, мне это нужно при использовании mac. нет никаких четких инструкций относительно последней ОС и того, как захватить источник. (все они говорят о загрузке обновлений, которые не включают источник или загрузку из oracle, но в любом случае это все неопределенное или ошибочное) – dtc

+1

Просто хотелось подчеркнуть, что это правильный способ сделать это, потому что, как @dtc сказал , каждая другая инструкция там ошибочна или устарела. Это было с IntelliJ 15 в проекте Scala, оно отлично работало. Спасибо @MisterEd! – mjuarez

21

Возможно, у вас уже есть исходный код с JDK, это вопрос нахождения там, где он есть. В случае, если папка JDK не содержит исходный код:

sudo apt-get install openjdk-7-source 

OSX Folks, поиск в доморощенных формулах.

В убунту, команда выше будет поместить файл Souce в: /USR/Lib/JVM/OpenJDK-7/

Хорошая новость заключается в том, что затмение будет считать вас там уже (Как привязать Eclipse, к Java исходный код):

Следуйте Оранжевые кнопки

enter image description here enter image description here enter image description here

11

К сожалению, на момент написания этой статьи, НЕЗАВИСИМО их собственную документацию readme, есть no src.zip в каталогах установки JDK 7 или 8 при загрузке версии Windows.

Примечание: возможно, это происходит, потому что многие из нас фактически не запускают программу .exe, а вместо этого извлекают ее. Многие из нас не запускают Java-установку (полностью взорванную установку Windows) по соображениям безопасности ... мы просто хотим, чтобы JDK помещал где-то в место, где потенциальные вирусы не могут его найти.

Но их политика в отношении окон .exe (независимо от того, что действительно есть) действительно орехи, ОДНАКО, то src.zip ДЕЛАЕТ существует в Linux установить (в .tar.gz). Существует несколько способов извлечения .tar и .gz, и я предпочитаю бесплатную утилиту «7Zip».

  1. загрузить бит Linux 64 .tar.gz
  2. использования 7zip разархивировать .tar.gz к .tar
  3. использовать 7zip, чтобы извлечь .tar в директорию установки
  4. Src. zip будет ждать вас в этом каталоге установки.
  5. вытащите его и поместите туда, где хотите.

Оракул, это действительно глупо.

+2

Oracle JDK8 (по крайней мере, 1.8.60) имел src.zip для меня в Windows. Однако Eclipse не выбрал его по умолчанию. – milletron

+0

@milletron, я тоже заметил это в недавнем выпуске Windows. У меня такое ощущение, что что-то сломалось в их загрузке изображений в течение некоторого периода времени ранее. Возможно, связано с различием в терминах окончания строки b/w unix (LF) и windows (CRLF)? – 2015-09-13 14:16:23

+0

Это то, что я должен был сделать и для Java 9. – Lii

2

Ну, я открыл терминал в моем Mac и тип: «Эхо $ JAVA_HOME» тогда я получил каталог, пошел туда и нашел src.zip

4

В JDK 8 источник можно найти в каталоге/ЦСИ. застежка-молния. Теперь в некоторых промежуточных версиях этот zip отсутствовал, но снова он доступен.enter image description here

убедитесь, что вы выбрали источник, а также мастера установки.

Смежные вопросы