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