Jasper,
Я нашел способ заставить эту работу (спасибо этот вопрос ). Если вы запустите Jetty в режиме отладки и подключите к нему отладчик Eclipse, виртуальная машина мгновенно выполнит «горячую» замену класса.
Запустите Jetty с (я использую Jetty 8 с JDK 6):
java -agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=n -jar start.jar
, а затем создайте стандартную конфигурацию удаленной отладки в Eclipse, которая выглядит следующим образом:
и нажмите «Отладка». Даже если вы не планируете что-либо отлаживать, подключение отладчика к удаленной виртуальной машине Jetty приведет к тому, что изменения класса будут развернуты в режиме реального времени.
Единственное, что вам следует знать, - это ограничения способности виртуальной машины оперативно менять класс. «Форма» класса не может измениться, поэтому любые новые члены класса определены или новые методы, и вам нужно будет перезагрузить веб-контекст (просто «дотроньтесь» до XML-файла контекста, и Jetty перезагрузит его).
Надеюсь, это поможет.