На главную часть правильно ответил Турбьерн Равн Андерсен.
Этот ответ пытается пролить свет на оставшийся вопрос: как файл класса с ошибками может оказаться в банке?
Каждая сборка (mvn & javac или eclipse) сигнализирует по-своему, когда сталкивается с ошибкой компиляции, и отказывается создавать из нее файл Jar (или, по крайней мере, заметно предупреждает вас). Наиболее вероятной причиной тихого переноса файлов классов с ошибками в jar является одновременная работа Maven и Eclipse.
Если у вас открыт Eclipse во время сборки mvn, вам следует отключить Project > Автоматически строить до завершения mvn.