Как использовать 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». error
Atmesh Mishra

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

Я использую версию Mars.2 (4.5.2) eclipse и применил этот патч. Теперь все существующие адаптеры 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.jarпомощью 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 Release (4.5.2) Идентификатор сборки: 20160218-0600
pidabrow

Конечно, он будет работать и на OS X. Изначально я внес эти изменения только на своем Mac. После этого я планировал использовать Tomcat в Windows. Итак, я просто сделал это и опубликовал здесь как ответ. Попробуйте ... @piotrdab
Винот Вино

10

На данный момент доступен сервисный релиз Eclipse Neon  . Так что, если кто-то все еще сталкивается с этой проблемой, просто перейдите на

Справка → Проверить обновления

и установите предоставленные обновления.


Обратите внимание, что вам все равно нужно выбрать Apache Tomcat v9.0 из списка сред выполнения сервера, что немного противоречит интуиции, но работает.
Periata Breatta,

1
У меня Eclipse Java EE IDE для веб-разработчиков версии Neon.1 Release (4.6.1) . Среди старого vestions Tomcat У меня тоже есть v8.0, v8.5и v9.0доступен в Определении нового сервера окна. Возможно, используемая вами версия Eclipse отличается.
Cryptor

3
Я подтверждаю, что Eclipse Neon.1 (4.6.1) добавляет сервер Tomcat v8.5
Ortomala Lokni

Хм ... У меня 4.6.0 с WST, обновленным с помощью предложенного действия, и до сих пор нет Tomcat 8.5 в списке ... но Tomcat 9.0 работает. Странно.
Periata Breatta

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

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 (). У него будет возможность добавить Tomcat 8.5.


2

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

Шаг 1. Справка >>> Установить новое программное обеспечение. Скопируйте эту ссылку в Работа с: http://download.eclipse.org/webtools/repository/neon

Шаг 2: Выбери J Сервер Адаптеры и JST Серверные адаптеры Extensions из первого пакета , который вы видите. Установите тех.

Шаг 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

Простите меня за обращение к старой проблеме. Но это как легендарное, всегда случающееся для новых пользователей. Причина, по которой я здесь, в том, что я хочу дать другой ответ. Довольно просто. Пожалуйста, перейдите в окна-> настройки-> Среда выполнения-> найдите и выберите папку, в которую вы загружаете сервер. Он автоматически обнаружит сервер, и все готово.


0

Я предполагаю, что вы используете Eclipse Mars или более раннюю версию. Вам необходимо перейти на Eclipse Neon или более позднюю версию.

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