Один Java-проект для обычных вещей, упакованный в JAR-файл.
Два веб-проекта, каждый из которых упакован в свой собственный файл WAR, которые принимают общий JAR-файл как стороннюю зависимость.
Нужно ли ухо?
Это можно сделать, если вы используете сервер приложений Java EE, такой как WebLogic, JBOSS, Glassfish, Geronimo или WebSphere. EAR не будет подходящим вариантом, если для развертывания вы используете движок сервлета / JSP, такой как Tomcat или Jetty.
Или только 3 отдельных проекта?
Три проекта будут иметь преимущество более слабой связи. Ваши два веб-приложения связаны на общих уровнях JAR и базы данных, но с точки зрения развертывания вы можете изменить остальные для одного и не повлиять на другое.
Что можно положить в общий JAR?
Что я могу думать о JPA сущностях,
Объекты DAO.
Все, что доступно для всех, кроме материалов веб-уровня.
Что делать, если 2 WAR пытаются получить доступ к одному и тому же
данные одновременно?
Это связано с изоляцией, блокировкой таблицы и дизайном приложения.