Исходный файл Java, отображаемый в IntelliJ в виде пустого декомпилированного файла класса - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть проект с несколькими .java файлами, которые я могу прекрасно видеть в IntelliJ, кроме одного.

Этот файл является .java файлом, как и другие, но IntelliJ помечает его«Декомпилированный файл .class» и источник полностью пуст.Если я открою файл в текстовом редакторе, то смогу увидеть исходный текст.Сборки Ant также хорошо работают с этим файлом.

Это не источники JDK, которые отсутствуют, и вы можете ожидать увидеть декомпилированный код.И это не скомпилированный .class файл, который я открываю.

Удаление файла из проекта и обновление из системы контроля версий для его восстановления, похоже, не помогает.

Вот как это выглядит, когда я пытаюсь открыть файл в IntelliJ:

image.java file as Decompiled .class file">

Что может вызвать такое поведение в IntelliJ и что я могу сделать, чтобыисправить это?

Ответы [ 2 ]

0 голосов
/ 08 декабря 2018

В итоге я решил свою проблему.

Каким-то образом я случайно добавил имя этого отдельного файла в список Java Class File Types, и этот файл был связан как декомпилированные файлы .class в том же самом файле.фактический файл .class имеет вид.

Исправление собирается к Settings (Ctrl+Alt+S)EditorFile Types, прокручивая вниз к классу Java в списке Recognized File Types, выбирая имя файла всписок Registered Patterns и нажатие кнопки Remove.

Settings, Editor, File Types Menu

Я не выяснил, как он автоматически добавлялся в этот список.Возможно, я принял всплывающее окно с предложением или выбрал неправильное намеренное действие, поэтому имя открытого или активного файла было добавлено в список типов .class.

0 голосов
/ 20 ноября 2018

Если в вашем проекте существует один и тот же класс (сравнивающий полностью определенное имя), и одновременно он исходит от сторонней зависимости, то иногда IntelliJ будет сбит с толку.

Это также относится к зависимостям, если декомпилированный класс открыт в окне редактора и нажмите действие «Загрузить источники». Это приводит к тому, что в другом окне редактора открывается только что загруженный исходный код для того же класса, а навигация IntelliJ мешает (Ctrl + Left click прыжок и другие действия).

Единственное известное мне решение - перезапустить IntelliJ и надеяться, что оно работает. Вы также можете попробовать File > Invalidate Caches and Restart, что заставит IntelliJ переиндексировать мир.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...