Як використовувати Tomcat 8.5.x та TomEE 7.x з Eclipse?


93

Мені потрібно встановити версію сервера Tomcat 8.5.x в Eclipse. Коли я намагаюся створити сервер за допомогою графічного інтерфейсу Eclipse, я отримую Eclipse Luna як вибір останньої версії " Apache Tomcat v8.0 ". Коли я його вибираю та переглядаю свій сервер Tomcat 8.5.x, з’являється таке повідомлення про помилку блокування:

Інсталяція Apache Tomcat у цьому каталозі має версію 8.5.0. Очікується встановлення Tomcat 8.0.

Така сама помилка з'являється під час спроби TomEE 7.x, яка базується на Tomcat 8.5.

В Eclipse Neon останньою версією на вибір є " Apache Tomcat v9.0 ", і вона видає ту ж помилку. Тут навіть немає опції " Apache Tomcat v8.5 ".

Чи є спосіб використовувати Tomcat 8.5 та TomEE 7.x в Eclipse? Як

Відповіді:


131

Вам потрібно виправити помилку catalina.jar, оскільки це номер версії, на який дивиться адаптер WTP. Це досить марна перевірка, і адаптер повинен дозволити вам запустити сервер у будь-якому випадку, але цього ще ніхто не має.

Роками та з кожною версією Tomcat це завжди проблема.

Для виправлення ви можете зробити наступне:

  • cd [tomcat or tomee home]/lib
  • mkdir catalina
  • cd catalina/
  • unzip ../catalina.jar
  • vim org/apache/catalina/util/ServerInfo.properties

Переконайтесь, що це виглядає наступним чином (номери версій усі повинні починатися з 8.0):

server.info=Apache Tomcat/8.0.0
server.number=8.0.0
server.built=May 11 2016 21:49:07 UTC

Тоді:

  • jar uf ../catalina.jar org/apache/catalina/util/ServerInfo.properties
  • cd ..
  • rm -rf catalina

5
У Tomcat 8.5.3 catalina.jar знаходиться у папці lib.
Джон

38
+1. Для тих, хто використовує ОС Windows, ви можете внести необхідні зміни безпосередньо у файл JAR. Просто відкрийте catalina.jar за допомогою утиліти файлового архіву (WinRar, WinZip, 7zip тощо), перейдіть до файлу org \ apache \ catalina \ util \ ServerInfo.properties , внесіть зміни та збережіть їх (підтвердьте, що хочете оновити архів ).
informatik01

16
ОНОВИТИ І вам потрібно ТІЛЬКИ змінити версію в server.info=рядку (наприклад, server.info = Apache Tomcat / 8.0.0 ), а номер server.number можна залишити таким, яким він є. Наприклад , я залишив його недоторканим , як це: server.number=8.5.4.0. Працює без проблем.
informatik01

7
-1: змінити сервер, щоб претендувати на іншу версію, це трохи зламати, коли явно доречним є змінити eclipse, щоб прийняти фактичну версію, яка була зроблена і описана в інших відповідях .
Periata Breatta

2
Після застосування цього злому я отримав "Невідома версія Tomcat була вказана". помилка
Атмеш Мішра

41

Існує патч для Eclipse:
https://bugs.eclipse.org/bugs/attachment.cgi?id=262418&action=edit

Завантажте цей патч і помістіть його до каталогу плагінів вашої інсталяції Eclipse. Він замінить за промовчанням " org.eclipse.jst.server.tomcat.core_1.1.800.v201602282129.jar ".

ПРИМІТКА
Після додавання цього патча ви повинні вибрати " Apache Tomcat v9.0 " під час додавання середовища виконання сервера в Eclipse ( Налаштування> Сервер> Середовища виконання ).
Тобто цей патч дозволяє вибрати Tomcat версії 9.x або Tomcat версії 8.5.x при додаванні середовища виконання Apache Tomcat v.9.0.


Детальніше про це можна знайти на відповідній сторінці звіту про помилки: https://bugs.eclipse.org/bugs/show_bug.cgi?id=494936


Зверніть увагу, що тепер це оновлення включено до останніх дистрибутивів Neon, тому простий вибір параметра Tomcat 9.x може спрацювати без необхідності оновлення плагіна.
Periata Breatta

3
Не працював для версії: Luna Service Release 2 (4.4.2) мої адаптери tomcat відсутні після виправлення
adranale,

Я використовую версію eclipse Mars.2 (4.5.2) і застосував цей патч. Тепер уже немає всіх існуючих адаптерів tomcat. Це божевільний патч, я відкочую його зараз.
mannedear

36

Для Tomcat 8.5.x користувачів

Ви маєте до змінити в ServerInfo.propertiesфайл Tomcat в /lib/catalina.jarфайлі.

ServerInfo.properties файл містить наступний код

server.info=Apache Tomcat/8.5.4
server.number=8.5.4.0
server.built=Jul 6 2016 08:43:30 UTC

Просто відкрийте ServerInfo.propertiesфайл, відкривши catalina.jarwith winrar з папки lib вашого Tomcat

ServerInfo.propertiesмісце розташування файлу в catalina.jarIS/org/apache/catalina/util/ServerInfo.properties

Зверніть увагу: shutdown сервер Tomcat (якщо він уже відкритий cmd) перед виконанням цих дій, інакше ваш файл не змінюється, а ваш winrar показує помилку.

Потім змініть наступний код в ServerInfo.properties

server.info=Apache Tomcat/8.0.8.5.4
server.number=8.5.4.0
server.built=Jul 6 2016 08:43:30 UTC

Перезапустіть своє затемнення (якщо його відкрили). Тепер це буде працювати ...

Знімок екрана затемнення


Це працює і на OS X? Я щойно виправив свою catalina.jar, і вона не працює (після виправлення нічого не змінилося). Моя версія Eclipse: Eclipse Java EE IDE для веб-розробників. Версія: Випуск Mars.2 (4.5.2) Ідентифікатор збірки: 20160218-0600
pidabrow

Звичайно, це буде працювати і на OS X. Спочатку я вніс ці зміни лише на своєму Mac. Після цього я планував використовувати Tomcat на Windows. Тож я просто зробив це і розмістив тут відповідь. Спробуйте ... @piotrdab
Vinoth Vino

10

Наразі доступний сервісний реліз Eclipse Neon  . Тож якщо хтось все ще стикається з цією проблемою, просто перейдіть до

Довідка → Перевірити наявність оновлень

та встановіть надані оновлення.


Зверніть увагу, що вам все-таки потрібно вибрати Apache Tomcat v9.0 зі списку середовищ виконання сервера, який трохи протилежний інтуїції, але він працює.
Periata Breatta

1
У мене є Eclipse Java EE IDE для веб-розробників, версія Neon.1, випуск (4.6.1) . Серед старого vestions Tomcat У мене теж є v8.0, v8.5і v9.0доступний в Ухвалі нового сервера вікна. Можливо, версія Eclipse, якою ви користуєтеся, інша.
Cryptor

3
Я підтверджую, що Eclipse Neon.1 (4.6.1) додає сервер Tomcat
v8.5

Хм .. У мене 4.6.0 з оновленим WST за допомогою запропонованої дії, і досі немає Tomcat 8.5 у списку ... але Tomcat 9.0 працює. Химерний.
Periata Breatta

Eclipse Neon.3 (4.6.3) також має сервер Tomcat
v8.5

4

Це обхідне рішення спрацювало для мене. Я відредагував файл serverInfo.properties, як зазначено нижче:

server.info=Apache Tomcat/8.0.0
server.number=8.0.0.0
server.built=Oct 6 2016 20:15:31 UTC


2

У мене були подібні проблеми з Eclipse Kepler v3.8, я встановив tomcat v8.5.37. Я не міг побачити Apache v8.5 як варіант. Переглядаючи StackOverflow, я виявив, що Apache v9.0 доступний на Eclipse Neon. Класна річ - вам не потрібно міняти версію затемнення. У вашому поточному Eclipse. Завантажте WTP (Пакет веб-інструментів), виконавши такі дії:

Крок 1: Довідка >>> Встановіть нове програмне забезпечення. Скопіюйте це посилання в Робота з: http://download.eclipse.org/webtools/repository/neon

Крок 2: Виберіть адаптери сервера JST та розширення адаптерів сервера JST із першого пакета, який ви побачите. Встановіть їх.

Крок 3: Windows >>> Налаштування >>> Сервер >>> Середовища виконання >>> Додати ..

Ви побачите там Apache v9.0! Це працює!


Дякую! Я щойно (пере) встановив Eclipse 2019-03 на своєму MacBook, і Tomcat - це завжди найважчий плагін для мене. Я використовував download.eclipse.org/webtools/repository/2019-03
Тад

1

Перейдіть до попередньої версії tomcat, наприклад: tomcat 8.3, і скопіюйте файл catalina.jar та вставте в існуючий tomcat, з яким ви зіткнулися


0

Вибачте мене за посилання на стару проблему. Але це як легендарне, завжди трапляється для нових користувачів. Причина, по якій я тут, полягає в тому, що я хочу призначити іншу відповідь. Досить просто. Будь ласка, перейдіть до windows-> налаштування-> Runtime Environment-> шукайте та виберіть папку, куди ви завантажуєте сервер. Він автоматично виявить сервер, і ви готові піти.


0

Я здогадуюсь, що ви запускаєте Eclipse Mars або ще більш ранню версію. Вам потрібно оновити до Eclipse Neon або пізнішої версії

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.