Hi, Thanks again for replying and thanks for the advice. Yes, you are right. I was able to put it work with the structure that I had in Tomcat 6.0.I just had to edit the "context.xml" from each servlet and add the following element inside the Context: <Loader delegate="true"/> This property makes the web application class loader change its order:https://tomcat.apache.org/tomcat-7.0-doc/class-loader-howto.html
Thanks again,Best regards,Daniel Rocha > Subject: Re: Webapp in the same thread context > To: [email protected] > From: [email protected] > Date: Fri, 27 May 2016 09:33:46 -0400 > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA256 > > Daniel, > > On 5/27/16 4:53 AM, Daniel Rocha wrote: > > The application that starts the servlets and initializes the > > static objects:/home/project/lib/app.jar The tomcat temporary > > folder "this.embedded.setBaseDir(getPath());" is located > > under:/home/project/temp_tomcat/ The servlets are located > > under:/home/project/webapps/servletname/ In the "servletname" > > directory I have what the compiler (I am using Netbeans as the > > IDE) generates under build/web directory. This means I have the > > WEB-INF, META-INF and the web pages inside the directory. The > > .class are inside the WEB-INF. > > > > Under the WEB-INF/lib of the servlets directory I have the > > "app.jar" in each of them. > > > > So, I tried to do something and it worked. > > > > I put the "app.jar" inside the tomcat temporary folder > > "/home/project/temp_tomcat/lib" (as a shared library) and I > > deleted the "app.jar" from each servlet (WEB-INF/lib/app.jar) and > > it worked. > > > > Can you please explain to me what really happened to start > > working? Is there another way (some tomcat option) to do this > > without having to put the "app.jar" inside the tomcat temporary > > folder? > > You app.jar contains both the classes required to boot the enbedded > system *and* the classes that run your web applications? > > If you have the web application classes referring to the "main app" > classes (specifically, fetching a static value), then you will always > have this problem. > > I recommend splitting your application into separate JAR files: one for > the launcher and a second one for the web application. You might even > want another one for the shared stuff. The launcher can live on its own, > the shared-library can live in Tomcat's lib/ directory, and the webapp > JAR can be in the WEB-INF/lib directory of the application. > > Any other layout will cause problems, unless you are okay with the > application being one big JAR (app.jar) in Tomcat's lib/ directory. > > The reason for this is how Java defines classes at runtime. A > (capital-C) Class is defined by the fully-qualified class name (e.g. > foo.bar.MyClass) *plus* the ClassLoader that loaded it. So if you have a > class available in different ClassLoaders (e.g. in both the webapp > ClassLoader and the shared ClassLoader), then objects of those two > Classes aren't always compatible with each other. The webapp ClassLoader > is defined to perform a local-load *first*, then delegate to the parent. > In the usual delegate-first class loading model, this issue wouldn't > happen because the parent loader would always be preferred. > > - -chris > -----BEGIN PGP SIGNATURE----- > Comment: GPGTools - http://gpgtools.org > Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ > > iQIcBAEBCAAGBQJXSEy6AAoJEBzwKT+lPKRYa7MQAKbsGpfWP4lVUU0d16fFACi1 > LCPj1Es9s/Z/i3bWvClyqIjzIgI8t016nLp7i444cXR2xl2rUgEy9KLbRryyV7qI > 4H91dbb9Xvef/hYesq/T1FWK30VfkQAnQrDqdtoht9pKyYbXFhn8HUr+hBYIkxUb > GOfT/Ge7zgekYBx+hhEtDzsXTFL0b/FGMDLAYAAq+qQbfjJEiFuA5iG4/3hrQAUa > LtkmS1NDWoNSxyey4AijpomdCUrY1IrrloZayGQF+p/1Vi2Xq6gt6vEsheP+Go7M > if7ub2SA47moIXUSRvPj73IK/88/OBbMbWxzA9WXkriH7fa5ZeDa1jJDrKzVk9Tx > aPsqOcHrzc7RbkoJhOU9v8tXmdmTtlM+dWqpS/PPqxS/d7xWf+irzkKy+nWI1wau > xWNgt7uT6TG0N/sdPC0fSBujwlyz8RRndVyVIKGHTvUr4lWK8ec8YidKdaimaJyy > MmAGoZIgRUs1uP+bctBoIJN+PV+0AzXBdSu2Xqd4S5q6sfWMEM1f4p9Kg0ezewg8 > puyHKdzctkdEdJDDE5oWLZh9j2lj66u9OcjgXbEF1pjMjQyfNZI2fkTzLArAqkeV > JjDOJ0S6Avn4u1gEL8QmOLOZlnO18HI7bWBhsXUVDQZh+MAgtHFNlxkW5SXy4M5F > CBUlKxFop9HdAwEfRDjq > =vuj5 > -----END PGP SIGNATURE----- > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] >
