Jak korzystać z Tomcat 8.5.x i TomEE 7.x z Eclipse?


93

Muszę skonfigurować wersję serwera Tomcat 8.5.x w Eclipse. Kiedy próbuję stworzyć serwer przy użyciu Eclipse GUI, w Eclipse Luna jako opcja wybieram najnowszą wersję " Apache Tomcat v8.0 ". Kiedy go wybieram i przechodzę do mojego serwera Tomcat 8.5.x, pojawia się następujący komunikat o blokowaniu:

Instalacja Apache Tomcat w tym katalogu to wersja 8.5.0. Oczekiwana jest instalacja Tomcat 8.0.

Ten sam błąd pojawia się podczas próby TomEE 7.x, który jest wewnętrznie oparty na Tomcat 8.5.

W Eclipse Neon najnowszą wersją do wyboru jest „ Apache Tomcat v9.0 ” i daje ten sam błąd. Nie ma nawet opcji „ Apache Tomcat v8.5 ”.

Czy istnieje sposób korzystania z Tomcat 8.5 i TomEE 7.x w Eclipse? W jaki sposób?

Odpowiedzi:


131

Musisz załatać catalina.jar, ponieważ jest to numer wersji, na który patrzy adapter WTP. To dość bezużyteczne sprawdzenie, a adapter i tak powinien pozwolić na uruchomienie serwera, ale nikt jeszcze o tym nie pomyślał.

Od lat i przy każdej wersji Tomcata jest to zawsze problem.

Aby załatać, możesz wykonać następujące czynności:

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

Upewnij się, że wygląda to następująco (wszystkie numery wersji muszą zaczynać się od 8.0):

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

Następnie:

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

5
W Tomcat 8.5.3 Catalina.jar znajduje się w folderze lib.
Jon

38
+1. W przypadku użytkowników systemu Windows można wprowadzić wymagane zmiany bezpośrednio w pliku JAR. Po prostu otwórz Catalina.jar za pomocą narzędzia do archiwizacji plików (WinRar, WinZip, 7zip itp.), Przejdź do pliku org \ apache \ catalina \ util \ ServerInfo.properties , wprowadź zmiany i zapisz je (potwierdź, że chcesz zaktualizować archiwum ).
informatik01

16
UPDATE I TYLKO musisz zmienić wersję w server.info=linii (np. Server.info = Apache Tomcat / 8.0.0 ), a server.number może pozostać bez zmian . Na przykład mam pozostawił nietknięte tak: server.number=8.5.4.0. Działa bez problemu.
informatik01

7
-1: modyfikowanie serwera tak, aby twierdził, że jest inną wersją, jest trochę hackem, kiedy oczywiście właściwą rzeczą jest zmodyfikowanie eclipse, aby zaakceptował aktualną wersję, która została wykonana i jest opisana w innych odpowiedziach .
Periata Breatta

2
Po zastosowaniu tego hacka otrzymałem informację „Określono nieznaną wersję Tomcata”. błąd
Atmesh Mishra

41

Istnieje łatka dla Eclipse:
https://bugs.eclipse.org/bugs/attachment.cgi?id=262418&action=edit

Pobierz tę poprawkę i umieść ją w katalogu wtyczek instalacji Eclipse. Zastąpi domyślny plikorg.eclipse.jst.server.tomcat.core_1.1.800.v201602282129.jar ”.

UWAGA
Po dodaniu tej poprawki należy wybrać „ Apache Tomcat v9.0 ” podczas dodawania środowiska wykonawczego serwera w środowisku Eclipse ( Preferencje> Serwer> Środowiska wykonawcze ).
Oznacza to, że ta poprawka pozwala wybrać Tomcat w wersji 9.x lub Tomcat w wersji 8.5.x podczas dodawania środowiska wykonawczego Apache Tomcat v.9.0.


Więcej informacji na temat można znaleźć na odpowiedniej stronie zgłaszania błędów: https://bugs.eclipse.org/bugs/show_bug.cgi?id=494936


Zauważ, że ta aktualizacja wydaje się być teraz uwzględniona w ostatnich dystrybucjach Neon, więc po prostu wybranie opcji Tomcat 9.x może działać bez konieczności aktualizowania wtyczki.
Periata Breatta

3
Nie działa dla wersji: Luna Service Release 2 (4.4.2) brakuje moich adapterów Tomcat po aktualizacji
adranale Kwietnia

Używam wersji zaćmienia Mars.2 (4.5.2) i zastosowałem tę poprawkę. Teraz wszystkie istniejące adaptery Tomcat zniknęły. To szalona łatka, teraz ją wycofuję.
mannedear

36

Dla użytkowników Tomcat 8.5.x.

Masz aby zmienić ten ServerInfo.propertiesplik z serwera Tomcat /lib/catalina.jarpliku.

ServerInfo.properties plik zawiera następujący kod

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

Po prostu otwórz ServerInfo.propertiesplik, otwierając plik catalina.jarwith winrar z folderu lib swojego Tomcata

ServerInfo.propertieslokalizacja pliku w catalina.jarto/org/apache/catalina/util/ServerInfo.properties

Uwaga: shutdown serwer Tomcat (jeśli jest już otwarty przez cmd) przed wykonaniem tych czynności, w przeciwnym razie plik się nie zmieni, a winrar wyświetli błąd.

Następnie zmień następujący kod w 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

Uruchom ponownie zaćmienie (jeśli jest otwarte). Teraz to zadziała ...

Zrzut ekranu zaćmienia


Czy działa też na OS X? Właśnie załatałem plik catalina.jar i nie działa (nic się nie zmieniło po patchu). Moja wersja Eclipse to: Eclipse Java EE IDE dla programistów WWW. Wersja: Wydanie Mars.2 (4.5.2) Identyfikator kompilacji: 20160218-0600
pidabrow

Pewnie, że będzie działać również na OS X. Początkowo wprowadziłem te zmiany tylko na moim Macu. Potem planowałem używać Tomcata w systemie Windows. Więc właśnie to zrobiłem i opublikowałem jako odpowiedź tutaj. Spróbuj ... @piotrdab
Vinoth Vino

10

Jak na razie wersja usługi Eclipse Neon jest  dostępny . Jeśli więc ktoś nadal napotyka ten problem, przejdź do

Pomoc → Sprawdź aktualizacje

i zainstaluj dostarczone aktualizacje.


Pamiętaj, że nadal musisz wybrać Apache Tomcat v9.0 z listy środowisk wykonawczych serwera, co jest trochę sprzeczne z intuicją, ale działa.
Periata Breatta

1
Mam Eclipse Java EE IDE dla programistów WWW w wersji Neon.1 Release (4.6.1) . Wśród starszych vestions Tomcat Mam też v8.0, v8.5a v9.0dostępne w zdefiniuj nowy serwer okno. Może wersja Eclipse, której używasz, jest inna.
Cryptor,

3
Potwierdzam, że Eclipse Neon.1 (4.6.1) dodaje serwer Tomcat v8.5
Ortomala Lokni

Hmm ... Mam 4.6.0 z WST zaktualizowanym przez sugerowaną akcję i nadal nie mam Tomcata 8.5 na liście ... ale Tomcat 9.0 działa. Dziwaczny.
Periata Breatta

Eclipse Neon.3 (4.6.3) ma również serwer Tomcat v8.5
albciff

4

To obejście zadziałało dla mnie. Edytowałem plik serverInfo.properties , jak podano poniżej:

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

2

Zainstaluj najnowszą wersję eclipse (). Miałby opcję dodania Tomcata 8.5.


2

Miałem podobne problemy z Eclipse Kepler v3.8. Miałem zainstalowany tomcat v8.5.37. Nie widziałem opcji Apache v8.5. Przeglądając StackOverflow stwierdziłem, że Apache w wersji 9.0 jest dostępny na Eclipse Neon. Fajne jest to, że nie musisz zmieniać wersji zaćmienia. W twoim obecnym Eclipse. Pobierz WTP (pakiet narzędzi internetowych), wykonując następujące czynności:

Krok 1: Pomoc >>> Zainstaluj nowe oprogramowanie. Skopiuj ten link w pracy z: http://download.eclipse.org/webtools/repository/neon

Krok 2: Wybierz karty JST Server Adapters i JST Server Adapters Extensions z pierwszego wyświetlonego pakietu. Zainstaluj te.

Krok 3: Windows >>> Preferencje >>> Serwer >>> Środowiska wykonawcze >>> Dodaj ...

Zobaczysz tam Apache w wersji 9.0! To działa!


Dzięki! Właśnie (ponownie) zainstalowałem Eclipse 2019-03 na moim MacBooku, a Tomcat jest zawsze najtrudniejszą wtyczką do znalezienia. Użyłem download.eclipse.org/webtools/repository/2019-03
Thad

1

Przejdź do podglądowej wersji tomcat np: tomcat 8.3 i skopiuj plik catalina.jar i wklej do istniejącego tomcata, z którym masz do czynienia


0

Wybaczcie, że powołuję się na stary problem. Ale to jest jak legendarne, zawsze dzieje się dla nowych użytkowników. Powodem, dla którego tu jestem, jest to, że chcę zamieścić inną odpowiedź. Raczej prosty. Przejdź do okna-> preferencje-> Środowisko wykonawcze-> wyszukaj i wybierz folder, z którego pobierasz serwer. Automatycznie wykryje serwer i możesz iść.


0

Domyślam się, że używasz Eclipse Mars lub jeszcze wcześniejszej wersji. Musisz dokonać aktualizacji do Eclipse Neon lub nowszej

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.