Я использую плагин sysdeo tomcat 3.2.1 с eclipse 3.5.1 (Galileo) и tomcat 5.5.23 на Windows XP.
Я могу заставить плагин tomcat работать в eclipse и распаковать devloader.zip в [tomcat] \ server \ classes.
Я также обновил контекст, и теперь у него есть эта запись:
<Context path="/myapp1" reloadable="true" docBase="F:\Work\eclipse_workspace\myapp1" workDir="F:\Work\eclipse_workspace\myapp1\work" >
<Logger className="org.apache.catalina.logger.SystemOutLogger" verbosity="4" timestamp="true"/>
<Loader className="org.apache.catalina.loader.DevLoader" reloadable="true" debug="1" useSystemClassLoaderAsParent="false" />
</Context>
Я активировал devloader (в Project> Properties> Tomcat> Devloader Classpath) и «проверил» все мои классы и фляги, я не «проверил» commons-loggin.jar jsp-api.jar, servlet-api .jar.
Таким образом, при запуске tomcat через плагин я могу запустить его с помощью devloader, как показано в представлении консоли eclipse
[DevLoader] Starting DevLoader
[DevLoader] projectdir=F:\Work\eclipse_workspace\myapp1
[DevLoader] added file:/F:/Work/eclipse_workspace/myapp1/WEB-INF/classes/
[DevLoader] added file:/F:/Work/eclipse_workspace/myapp1/WEB-INF/lib/activation.jar
Однако, если я даже добавлю один файл System.out.println в любой файл Java и сохраню его, все приложение будет перезагружено (занимает ~ 80 секунд), что так же хорошо, как остановка / запуск самого tomcat.
Я пытался добавить -Xdebug в JAVA_OPTS в catalina.bat, но не повезло: (
Подскажите, пожалуйста, где я могу сделать это неправильно ..
Обратите внимание, что я могу «заново развернуть» все приложение на tomcat, но это не то, что мне нужно, я ищу возможность вносить небольшие изменения в Java-классы «на лету» во время кодирования / отладки без необходимости дождитесь полного перезапуска приложения. Другая неприятность заключается в том, что перезапуск tomcat / application приводит к потере прогресса сеанса / отладки.
Подскажите, пожалуйста, как мне это сделать.
PS: Я не использую какие-либо скрипты ant / maven в явном виде, я просто полагаюсь на eclipse, чтобы сделать сборку для меня (что она и делает).