2016-07-16 3 views
4

Когда я открываю определенный класс, используя ctrl + правый щелчок Я должен быть перенаправлен в окно с источниками java, которые содержат все строки и соответствующие комментарии. Но вместо этого я получаю окно с декомпилированным файлом .class.Источники Java заменены декомпилированными файлами в Intellij

Я попытался дезактивировать плагин декомпилятора, но он не работает.

Если я добавлю http://docs.oracle.com/javase/8/docs/api к структуре проекта -> SDKs -> Пути документации, я могу получить обзор класса или метода, с которым я перехожу, но все еще не могу открыть правильный исходный файл.

Любые идеи?

+0

Я не думаю, что вы видите декомпилированные файлы классов, а не заполнители. Я думаю, вам нужно приложить источники. Проекты Maven в IntelliJ делают это автоматически AFAIK. –

+0

Maven's «Автоматически загружать» источники/документацию проверяются –

ответ

7

При переходе на источники, IDEA сначала перейдет к подключенным источникам. Если нет, он декомпилирует класс и отображает его.

Попробуйте следующие устранения неполадок, чтобы отследить проблему:

1. Убедитесь в том, что источники правильно подключены.

Для библиотек, откройте диалоговое окно Структура проекта (Ctrl + Alt + Сдвиг + S или ;) и sel4ct «Библиотеки» на левом разделе «Настройки проекта» , Найдите соответствующую библиотеку и выберите ее. Он покажет, подключен ли источник. Вы упомянули, что у вас есть Maven's «Автоматически загружать» источники/документацию, которые были проверены. Поэтому для любых библиотек maven, у которых есть исходный код, он должен быть указан.

enter image description here

Если его нет в списке или в красных, перспективе «Скачать Источники» или «Загрузка источники и документации» enter image description here из окна инструмента Maven. Если источник до красного цвета, это, вероятно, означает, что он недоступен для этого артефакта в репозитории maven. Используйте для этого Maven Search.

Для JDK выберите «SDK» в диалоговом окне «Структура проекта», найдите JDK и выберите вкладку «Исходный путь». Убедитесь, что файл {jdk-home} /src.zip указан.

enter image description here

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

2. Убедитесь, что источник JAR/файл ZIP не поврежден

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

3. кэши Refresh IDEA в

Возможно кэширует эту идею в/индексы повреждены. Таким образом, IDEA не видит связь между классом и исходным кодом. Перейти к Файл> Invalidate Caches/Restart ... ". Недействить кеши и перезагрузить IDEA.Подождите, пока IDEA завершит повторную индексацию проекта и библиотек (посмотрите ход в правом нижнем углу окна IDEA).

Одно из указанных выше должно решить проблему.

FYI Если вы не хотите, чтобы IDEA декомпилировал код (как резервную копию без источника), насколько мне известно (и на основе its help page), единственный способ сделать это - отключить «Decompiler Java Bytecode» в списке плагинов.

+2

Шаг 2 был проблемой в моем случае. Спасибо за подробный ответ. –

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