Eclipse WTP против sydeo: «обслуживает модули без публикации»


103

У меня проблема с тем, чтобы узнать производительность плагина sysdeo с помощью встроенного плагина WTP eclipse.

Чтобы выполнить миграцию и, следовательно, сравнение, я установил оба в отдельных проектах в eclipse.

Я заметил разницу в производительности, согласно тому, что я понял: WTP необходимо публиковать источники в сборке каталогов, чтобы tomcat имел их в порядке. Эта "пульсация" длинная: нужна подзарядка контекста, чтобы изменения были видны. (5 сушки в большинстве ярдов 15 секунд - 20 секунд в самом длинном).

Sysdeo нет; он нацелен на каталог eclipse, следовательно, строит внутреннее в проекте, как только в файл вносится модификация, сборка eclipse, и эти модификации доступны немедленно (F5 в браузере, и мы немедленно получаем результат).

Вот моя конфигурация сервера:

Опция «Обслуживает модули без публикации» позволяет сделать именно то, что делает sydeo: выбрать каталог сборки запущенного проекта. Эта конфигурация выражается в файле контекста. (Чтобы иметь возможность вернуть это, я проверил "Публикация модулирует контексты для разделения строк XML")

Сравнение этих файлов:

  • Вот файл контекста для генерации с помощью sysdeo
< Context path="/tatoile _syseo" reloadable="false" docBase="D:\32bit\serveur32bit\workspace\tatoile _syseo" workDir="D:\32bit\serveur32bit\workspace\tatoile _syseo\work" />
  • Контекст файла, создаваемый WTP

<? xml version = "1.0" encoding = "UTF-8"?> <Context docBase = "D: \ 32bit \ serveur32bit \ workspace \ tatoile \ web" path = "/ tatoile" reloadable = "true" source = "org .eclipse.jst.jee.server: tatoile "> <Resources className =" org.eclipse.jst.server.tomcat.loader.WtpDirContext "extraResourcePaths =" / WEB-INF / classes | D: \ 32bit \ serveur32bit \ workspace \ tatoile \ build \ classes "virtualClasspath =" D: \ 32bit \ serveur32bit \ workspace \ tatoile \ build \ classes "/> <Loader className =" org.eclipse.jst.server.tomcat.loader.WtpWebappLoader "useSystemClassLoaderAsParent =" false " virtualClasspath = "D: \ 32bit \ serveur32bit \ workspace \ tatoile \ build \ classes" /> <JarScanner scanAllDirectories = "true" /> </ Context>

Позже проанализируйте эти два файла на одинаковые.

А теперь вернемся к проблеме. Я использую один и тот же сервер, следовательно, оба файла контекста, указанные выше, определены для этого. Опыт: я запускаю tomcat с помощью плагина sysdeo, загрузки в двух контекстах сделаны одним для настройки способа WTP, а другой - с помощью sysdeo. Оба авторитета реагируют одинаково, изменения происходят немедленно в tatoile _syseo и tatoile.

С другой стороны, я запускаю tomcat через плагин WTP (сервер вкладок и т. Д.) В eclipse, изменения не вносятся сразу в оба проекта tatoile _syseo и tatoile. Примечание. Автоматическая перезагрузка обязательно должна быть включена, чтобы изменения были учтены. (Когда сервер указывает нам, что он перезагрузил контекст, мы можем видеть изменения.)

введите описание изображения здесь

Я полагаю, что из этого не конфигурация контекстов является причиной, а скорее то, как плагин запускает tomcat; а там или сушу…

Вот проект WTP:

введите описание изображения здесь


5
У вас проблемы с Sysdeo или WTP? OTOH Наверняка WTP потребуется больше времени для изменений, поскольку для повторной публикации он будет делать следующее: (1) классы сборки (2) отменить развертывание старого веб-приложения (3) скопировать результат сборки в папку развертывания tomcat (4) tomcat автоматически запустит приложение. Между тем, с sysdeo классы в ОЗУ изменяются на лету, как только вносятся изменения (идентифицируемые новой датой в любых файлах классов). Кроме того, существуют некоторые ограничения изменений, которые не могут быть внесены на лету (при добавлении новых методов также изменяется структура классов), в этом случае будет выдано предупреждение.

Я использовал и Sysdeo, и WTP в одном проекте. Самым существенным отличием, которое я заметил, было то, что конфигурация Sysdeo казалась мне проще, но это могло быть предвзятым.
Маркус

2
Проблема была решена добавлением MAVEN с развертыванием WTP. Никаких проблем с производительностью. Нет проблем с производительностью, и я не активирую «обслуживающие модули без публикации»
Vsplit

1
Если вы решили проблему, можете ли вы опубликовать ответ?
Anubian Noob

@AnubianNoob да, когда я объяснил в своем предыдущем посте. Я решил проблему, используя конфигурацию maven.
Всплит

Ответы:


3

Ответ, цитируемый @Vsplit

Проблема была решена добавлением MAVEN с развертыванием WTP. Нет проблем с производительностью ... и я не активирую модули обслуживания без публикации


-1 Это не ответ. пожалуйста, добавьте ответ с более подробной информацией.
Isaac G Sivaa

1
Привет, прошу прощения за поздний ответ. Но, как вы должны заметить, я не могу разрешить проблему с плагином Sysdeo. Но я использую плагин Maven с развертыванием WTP. Вы можете увидеть этот образец руководства youtube.com/watch?v=YeC7XQho-O0
Vsplit

2

поищите на торговой площадке плагинов бесплатный плагин под названием m2e-wtp. Это решит проблемы с предоставленной областью. Что касается классов, которые не развертываются, обычно я смотрю на сборку развертывания и / или путь сборки Java. Убедитесь, что все записи (и зависимые модули) есть и расположены в нужном месте.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.