2016-08-25 1 views
0

Может кто-нибудь объяснить мне, почему IntelliJ решил отметить некоторые из моих классов символом enter image description here?Почему IntelliJ обозначил мой класс как J?

У меня есть несколько классов в одной и той же упаковке, а некоторые отмечены enter image description here, тогда как другие с enter image description here.

Я бы не стал возражать, если enter image description here не вызывал потери класса, и, что более важно, ярлыки перестали работать (!), Например Find usages ALT+F7.

enter image description here

* .iml файл конфигурации:

<content url="file://$MODULE_DIR$"> 
    <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> 
    <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" /> 
    <excludeFolder url="file://$MODULE_DIR$/target" /> 
</content> 

Примечание это работает правильно, прежде чем (вчера). Просто случилось сегодня. Проект maven строит правильно. Классы верны.

ответ

0

Директория, в которой находится ваш java-файл, не является каталогом исходного кода.

Вы можете пометить каталог в Intellij.

Он описан здесь https://www.jetbrains.com/help/idea/2016.2/configuring-content-roots.html

Вы также можете щелкнуть правой кнопкой мыши на каталоге каталога и использовать метки в качестве.

Если Вы используете Maven проект, Вы должны следовать Maven шаблону каталогов

https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html

3

Файлы, отмеченные enter image description here являются Исходные файлы Java представляет в каталоге отмечены корень источника (или подкаталог его) из IntelliJ.

Файлы, отмеченные значком enter image description here, являются исходными файлами java в каталоге, который НЕ помечен как исходный корень (или его вспомогательная директория) из IntelliJ.

Обычно значки окружения связаны с файлом в каталоге, распознанным из IntelliJ в качестве источника, квадраты - это файлы, не находящиеся в исходном каталоге.

Для полного описания каждого значка вы можете увидеть следующие ссылки:

  • Symbols - Здесь вы можете найти enter image description here значок
  • File Types - Здесь вы можете найти enter image description here Icon

Если файл не находится под деревом каталогов, помеченным как исходный корень, это только файл.

Вместо этого, если файл находится под деревом каталогов, помеченным как исходный корень, он распознается как класс, аннотация, интерфейс или перечисление, и он отображается с помощью команды Find Usages ALT+F7, поскольку является частью источника.


Дополнительное примечание.Если файл имеет расширение java, но не является классом java (например, если файл пуст), то значок enter image description here также присутствует в дереве, помеченном как исходное дерево, поскольку IntelliJ не может понять, является ли это классом, enum, интерфейс или что-то другое.

Поэтому проверьте содержимое файлов, отмеченных как enter image description here. Возможно, что, например, объявление класса неправильно написано.

Например файл MyClass.java с этим содержанием

public clas MyClass { 
} 

имеет значок enter image description here, поскольку объявление класса неправильно.

Исправление к следующему изменению также иконка в enter image description here

// Added an s to class 
public class MyClass { 
} 
+0

Я отправил дерево пакетов и каталогов Java помечается как исходную папку. Они присутствуют в том же каталоге с файлом класса, но все же отмечены как J. –

+0

Я вижу. Попытайтесь закрыть и снова открыть IntelliJ, чтобы узнать, работает ли он. –

+0

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

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