2013-05-21 10 views
7

Utworzono wspólną bibliotekę z plikami jar w serwerze weblogic, teraz mam aplikację EAR i chcę używać plików klas z biblioteki współdzielonej w moich aplikacjach internetowych obecnych w Aplikacja EAR. Więc stworzyliśmy weblogic-application.xml plik w moim katalogu ear-app/META-INF/ i dał odniesienie do wspólnej biblioteki korzystając z poniższego tags:Odsyłacz do udostępnionej biblioteki Java EE dla aplikacji EAR w weblogic

<library-ref> 
    <library-name>ebs_endeca_artifacts</library-name> 
</library-ref> 

Ale gdy próbuję uzyskać dostęp do plików klas w mojej aplikacji, otrzymuję wyjątek java.lang.ClassNotFoundException

Wymagane jest także odnoszenie się do biblioteki współdzielonej na poziomie ucha, zamiast deklarowania w pliku weblogic.xml pojedynczych plików wojennych.

Jeśli bezpośrednio umieszczam te same pliki JAR w moim katalogu ear-app/APP-INF/lib zamiast korzystać z biblioteki współdzielonej, to moja aplikacja działa bez żadnych problemów.

Proszę mi pomóc, jak mogę korzystać z udostępnionej biblioteki w mojej aplikacji do uszu. Używam weblogic server 10.3.6

Moje wspólną strukturę biblioteki będzie tak:

shared-web-app/WEB-INF/web.xml 
shared-web-app/WEB-INF/lib/*.jar 

Odpowiedz

4

Trzeba słoiki z udostępnionej biblioteki w ścieżce klas, ponieważ przed wdrożeniem EAR, aplikacja musi być zbudowany. JDeveloper nie wiedziałby, gdzie są przechowywane te klasy, więc potrzebuje tych na compile-time.

Podczas przygotowywania wniosku o wdrożenie można utworzyć filtry dla plików, które można dodać w ramach WAR/EAR//. Przejdź do strony Application Properties ->Deployment i wybierz swój profil wdrożenia. Kliknij przycisk Edit, a zostanie wyświetlony ekran, z którego można filtrować pliki/biblioteki, które mogą być dołączone podczas tworzenia aplikacji.

Jeśli nie umieścisz udostępnionej biblioteki w archiwum i nie zostanie opublikowany fragment z opublikowanej weblogic-application.xml, serwer WebLogic użyje wtedy klas z udostępnianej biblioteki.

Nadzieję, że pomaga. Pytaj o coś, czego nie rozumiesz jako komentarz. :)

+0

Dzięki kocko, EAR i shared-library oba są pomyślnie wdrażane w weblogic. Ale napotykam problem, gdy próbuję uzyskać dostęp do jakichkolwiek aplikacji internetowych z przeglądarki, które są częścią mojego EAR. Ponadto zaktualizowałem swój wpis, podając szczegóły dotyczące biblioteki współdzielonej. – chaitanya

+0

Jak rozumiem, twoja udostępniona biblioteka to aplikacja internetowa, a nie słoik? –

+0

tak kocko, jest spakowany jako aplikacja internetowa. – chaitanya