ClassNotFoundException podczas korzystania z bibliotek użytkownika w Eclipse build path

Używam Eclipse 3.7 (STS) z Tomcat 7 działającym wewnątrz IDE. Stworzyłem nowy dynamiczny projekt sieci Web i dodałem pojedynczy plik JSP do folderu głównego zawartości sieci web. Mogę uruchomić Tomcat i uzyskać dostęp do JSP z Eclipse bez żadnych problemów.

Dodałem kilka 3rd party JAR ' s do projektu z bibliotek użytkowników (nie używam Maven lub auto dependecies managment). W JSP odwołuję się do klasy z pliku JAR projektu, mogę to skompilować bez problemu, ale kiedy uruchamiam na Tomcacie JSP rzuca ClassNotFoundException. Najwyraźniej Tomcat nie może znaleźć słoika z moich ustawień biblioteki. Próbowałem stworzyć Run As configuration dla serwera Tomcat i ustawiłem classpath tak, aby pasował do ustawień classpath projektu, ale nadal mam ten sam problem classnotfound.

Mógłbym obejść problem ręcznie kopiując wszystkie słoiki projektu do katalogu WEB-INF / lib, aby webapp mógł znaleźć wszystkie zależności, ale to absurd i nie oczekuję, że będzie rozwiązanie, ponieważ to koszmar konserwacyjny.

Czy coś przeoczyłem?

Author: BalusC, 2011-08-10

2 answers

We właściwościach projektu przejdź do Deployment Assembly . Dodaj tam również wpisy buildpath, które ręcznie dodałeś jako biblioteki użytkowników. Skończy się /WEB-INF/lib wojny.

Tutaj wpisz opis obrazka

 98
Author: BalusC,
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-07-01 07:20:00

Musisz skopiować pliki jar do folderu WEB-INF / lib: tam powinny być.

Eclipse powinno dać Ci możliwość wygenerowania pliku WAR, który zawiera wszystkie zależności: nie używałem narzędzi webowych od dłuższego czasu, ale tak czy inaczej wszystkie zależności muszą być w WEB-INF / lib, inaczej Klasa loader nie będzie w stanie ich znaleźć.

 3
Author: Femi,
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-08-10 04:10:05