<br><br><div class="gmail_quote">On Sun, Nov 27, 2011 at 13:30, Kővári Csaba <span dir="ltr"><<a href="mailto:cskovari@stonesoft.hu" target="_blank">cskovari@stonesoft.hu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Megvan a megoldás, a Tomcat lib könyvtárába kellett bemásolni a "jaybird-full-2.1.6.jar" file-t<br>
<br>
Medzihradszky Dénes-től kaptam a kisegítő sorokat:<br>
<br>
"Ha indítasz egy webalkalmazást (szervlet) akkor automatikusan indul a Tomcat, az alól fut minden. Ha nem a Tomcat biztosítja a kapcsolatot, akkor az alkalmazás lib könyvtára a WEB-INF alatt van szokás szerint, azt éri el automatikusan a classloader. Tehát oda kell pakolni a jart."<br>
<br>
Még nem teljesen állt össze a fejemben a kép. Ezek szerint ha "hagyományos" java programot futtatok, akor a fordítás és a futtatás uganazon környezeben történik (saját gépem), ha viszont egy webalkalmazást fejlesztek, akkor a futtatás a Tomcat által meghatározott környezetben fut, a gyökérkönyvtáron kívüli rész (saját gépen) nem elérhető el a webalkalmazás számára ?<div>
<div></div><div><br>
<br>
<br></div></div></blockquote><div><br>Nincs igazából olyan, hogy hagyományos, meg nem hagyományos :) Minden java program egyrészt induláskor megkap egy alap classloadert, de ő maga is hozhat létre újakat, amik különféle helyekről tölthetnek be osztályokat, s eme classloaderek egy hieararchiát alkotnak - a boot classloaderen kivül mindegyiknek van egy szülője, amihez fordul először. A tomcat speciel azt csinálja, hogy van egy classloader ami csak a saját, belső osztályait tölti, van egy common, ami a minden webapp és a szerver által közösen használt, használható osztályokat, pl a HttpServlet, HttpServletRequest, stb, jdbc drivereket, stb tölti, és van minden webappra külön classloader, ami meg a webapp alatt lib és classes könyvtárakat nézi. S a webapp classloaderek és a szerver classloader parentje a common, így a webappok és a szerver látja a commonban található osztályokat, tudják használni őket, viszont egymáshoz nem tudnak hozzáférni. <br>
(csak reflectionnel, de azt meg nem szokták normális esetben csinálni)<br><br>
</div></div>Zs<br>