На самом деле нет никакой разницы в производительности / безопасности для JAR в /WEB-INF/lib
по сравнению с классами в /WEB-INF/classes
.В любом случае они оказываются в одном и том же контексте и загрузчике классов.Возможно, для извлечения JAR и загрузки его классов в память требуется еще несколько миллисекунд, но это совершенно незначительно.
Здесь отличается только ремонтопригодность и возможность повторного использования.Когда вы помещаете EJB-компоненты в отдельный проект, вы можете легко использовать их для других WAR-целей и целей без необходимости копировать пасты классов.