Я не знаю Eclipse, но я использую Netbeans. Netbeans делает это довольно хорошо. В последней версии даже есть опция автоматической перекомпиляции при сохранении файла Java.
Я знаю, что это не совсем отвечает на ваш вопрос. Вероятно, вы можете использовать как Netbeans, так и Eclipse, в зависимости от того, над какой частью проекта вы работаете.
EDIT:
С Tomcat вы можете перезагрузить веб-приложение. Это действительно полезно, только если Tomcat смотрит на новый класс. Если ваш проект сначала компилируется в каталог сборки, а затем из него создается WAR, вы можете зайти в Tomcat и установить веб-приложение, а не указывать на точку WAR в каталоге сборки.
В Tomcat вам, возможно, придется поместить файл конфигурации сайта в tomcat / conf / Catalina / localhost. Содержимое этого файла выглядит так:
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="C:/Projects/MyWebApp/build/web" path="/MyWebApp"/>
Инструкция по перегрузке здесь:
http://www.cs.ucl.ac.uk/teaching/java/tomcatfaq.html#changeservlet
Если вы сделаете это несколько раз, хотя Tomcat не хватит памяти. Это из-за того, что называется PermGenSpace. Читайте об этом, если вы хотите узнать больше. Решение состоит в том, чтобы увеличить память JVM, PermGenSize (с -XX: MaxPermSize) и, наконец, периодически перезапускать Tomcat.
EDIT2:
Если после перезагрузки приложения вы выйдете из системы, вы можете легко заставить контейнер сериализовать данные сеанса на диск, добавив в некоторые из ваших классов «Implements Serializable». Тогда вам не нужно входить в систему после перезагрузки приложения.