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?

informatik01
źródło

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
dexter meyers
źródło
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

FkJ
źródło
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

Vinoth Vino
źródło
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.

Cryptor
źródło
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
Vikd
źródło
2

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

Sandipan
źródło
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!

divyajyotiuk
źródło
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

Sanjay
źródło
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ść.

parlad
źródło
0

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

Youssef El-kantri
źródło