Nie znam Eclipse, ale używam Netbeans. Netbeans robi to całkiem nieźle. Najnowsza wersja ma nawet opcję automatycznego przekompilowania po zapisaniu pliku Java.
Wiem, że to nie odpowiada dokładnie na twoje pytanie. Prawdopodobnie możesz używać zarówno Netbeans, jak i Eclipse, w zależności od części projektu, nad którą pracujesz.
EDYTOWANIE: Dzięki Tomcat można ponownie załadować aplikację internetową. Jest to przydatne tylko wtedy, gdy Tomcat patrzy na nową klasę. Jeśli twój projekt zostanie najpierw skompilowany do katalogu kompilacji, a następnie zostanie utworzona WAR, możesz wejść do Tomcat i zainstalować aplikację internetową, zamiast wskazywać punkt WAR w katalogu kompilacji.
W Tomcat może być konieczne umieszczenie pliku konfiguracyjnego witryny pod tomcat/conf/Catalina/localhost. Zawartość tego pliku wygląda następująco:
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="C:/Projects/MyWebApp/build/web" path="/MyWebApp"/>
Instrukcja przeładunku tutaj: http://www.cs.ucl.ac.uk/teaching/java/tomcatfaq.html#changeservlet
Jeśli kilka razy to zrobić chociaż Tomcat zabraknie pamięci. Dzieje się tak z powodu czegoś, co nazywa się PermGenSpace. Przeczytaj o tym, jeśli chcesz dowiedzieć się więcej. Rozwiązaniem jest zwiększenie pamięci JVM, PermGenSize (z -XX: MaxPermSize) i wreszcie restartowanie Tomcata sporadycznie.
EDIT2: Jeśli ponowne załadowanie aplikacji spowoduje wylogowanie, możesz łatwo uzyskać kontener w celu przekształcenia danych sesji na dysk przez dodanie "narzędzi Serializable" do niektórych klas. Wtedy nie musisz logować się po ponownym załadowaniu aplikacji.
Dzięki. Myślę, że Java Rebel wydaje się być dobra. Muszę to przetestować. Jedyne, co mnie martwi, to nie jest freeware/Open Source. Czy znasz coś, co jest freeware/OpenSource? Jeśli twoja odpowiedź brzmi "Nie", jak dobrze jest sobie pozwolić na Java Rebel? – Techmaddy
Nie ma innych * rzeczywistych * alternatyw dla bieżącego jdk. Javarebel działa dobrze dla mnie, ale to już prawie osobne pytanie. To nie jest drogie i tak, to jest tego warte. – krosenvold