Работа с закрытыми классами в Eclipse - PullRequest
2 голосов
/ 12 сентября 2011

Непубличные классы верхнего уровня (т. Е. Приватные пакеты) в Java не требуют совпадения имени файла (например, класс Foo может быть определен в Bar.java).Я не думаю, что такая возможность больше нужна (поскольку вложенные классы были введены много лет назад).

Иногда это приводит к проблемам: после некоторых рефакторингов я заканчивал именами файлов, не совпадающими с именами их классов, что смутило меня (при фиксации), а также Eclipse (некоторые файлы не были перекомпилированы, хотя пришлось).

Есть ли способ запретить такие классы в Eclipse?

1 Ответ

1 голос
/ 20 ноября 2011

Я бы рекомендовал использовать Checkstyle , который также имеет очень хороший плагин для Eclipse, eclipse-cs . В конфигурации eclipse-cs для данной конфигурации проверки в разделе Разное есть проверка «Имя файла внешнего типа», которая может быть включена, с описанием «Проверяет, совпадают ли имя внешнего типа и имя файла. Например, , класс Foo должен находиться в файле с именем Foo.java. ".

Для того, чтобы действительно «запретить такие классы», эта проверка может даже иметь степень серьезности «ошибка» (которая по умолчанию предотвратит сборку, по крайней мере в Eclipse) - вместо серьезности по умолчанию «предупреждение» .

В качестве дополнительного бонуса, использование Checkstyle не блокирует вас на выполнение этой проверки в Eclipse. Checkstyle легко интегрируется в различные инструменты сборки, такие как Apache Maven, что позволяет проверять эту проблему, даже если вы или другой пользователь не использовали Eclipse.

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