Zależności Mavena niewidoczne w WEB-INF / lib
Mam dziwny problem z tworzeniem mojego projektu w oparciu o Mavena. Stworzyłem nowy projekt Maven W Eclipse i włączyłem dynamiczne strony www. Ale teraz podczas wykonywania wyrzuca ClassNotFoundException
, ponieważ zależności Mavena nie są kopiowane do katalogu WEB-INF/lib
. Próbowałem nawet dodać sekcję copy-dependencies w POM, ale to nie pomogło.
Ktoś tutaj wydawało się, że rozwiązał to we właściwy sposób, ale chyba zapomniał wspomnieć o rozwiązaniu: (
8 answers
Nie powinno to mieć nic wspólnego z eclipse i m2eclipse, a opcjonalnie dla lepszego wsparcia- M2E-wtp . Nie potrzebujesz też zależności od kopii. Oto kilka możliwych powodów:
- należy wywołać
mvn package
(lub kliknąć prawym przyciskiem myszy > Maven > pakiet) i uzyskać plik wojny -<packaging>
(w pom) musi byćwar
- Twoje zależności powinny być z domyślnym zakresem (jeśli są
provided
lubtest
nie będą zawarte w archiwum) - jeśli biegasz projekt jako dynamiczny projekt WWW na serwerze w eclipse, następnie należy otworzyć Właściwości projektu (kliknij prawym przyciskiem myszy > właściwości) i wybrać "Deployment Assembly". Tam kliknij "Dodaj", wybierz "Utwórz wpisy ścieżki" i wybierz "Maven dependencies". To poinstruuje WTP, aby wysłał zależności Mavena do katalogu serwera.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-11 21:37:25
Pierwsza instalacja Integracja Mavena dla Eclipse WTP (pomoc- > Eclipse Marketplace)
Następnie w pom twojego projektu www.xml wystarczy dodać:
<packaging>war</packaging>
Następnie kliknij prawym przyciskiem myszy projekt, Maven - > Update Project, który powinien automatycznie dodać zależności Maven dla Ciebie w montażu wdrażania.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-21 12:25:57
Kliknij prawym przyciskiem myszy projekt > Maven > Update Maven Project > ok fixed it for me
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-06 07:47:30
Sprawdź właściwość Deployment Assembly projektu. Widziałem, że niektóre mvn eclipse:eclipse
wygenerowane projekty Eclipse czasami mają zasoby rozmieszczone w niewłaściwym miejscu. Z tego co pamiętam nowy Deployment Assembly miał problemy z wcześniejszymi wersjami Eclipse 3.6 (Helios).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-05-21 18:35:36
Właśnie zrobiłem maven - > update project pracował dla mnie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-23 10:27:27
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:47:08
Jeśli spojrzysz na swoje wdrożenie i zobaczysz, że WEB-Inf / lib jest pusty z Twoich zależności Maven, wtedy upewnienie się, że te zależności Maven są w twoim zestawie deployment jest kluczowe, jak wspomniano w wybranej odpowiedzi.
Należy jednak uważać na Eclipse, a następnie nie odświeżać wszystkiego nawet z aktualizacją Mavena. Jeśli wyczyścisz, przebudujesz i ponownie wdrożysz i nadal nie widzisz wypełnionego folderu lib, spróbuj usunąć i ponownie dodać aplikację do wdrożeń serwera za pomocą Serwery > Dodaj i usuń.
To odkręciło mi system.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-08 19:36:24
Kliknij prawym przyciskiem myszy project - > Deployment Assembly: Sprawdź, czy masz tam zależności od Mavena i innych. Jeśli nie, Kliknij prawym przyciskiem myszy project -> Maven - > Enable Workspace Resolution
(może wtedy Maven - > Update Project, ale potem zajrzyj jeszcze raz do "Deployment Assembly" i zobacz co masz.) to rozwiązało (w końcu!) dla mnie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-23 20:27:41