Thank you Jan! You've helped me big time!

I've found the solution to my problem in the linked Wiki's 'Settings Server
Classes' section (
http://wiki.eclipse.org/Jetty/Reference/Jetty_Classloading#Setting_Server_Classes
).

Basically I only had to add the following to the list of server classes:
"-org.eclipse.jetty.deploy.". (Mind the '-' prefix, and the '.' suffix.).

If one would like to add only a single class (with it's fully qualified
name), care must be taken to insert the "pattern" for it, before any
enclosing package pattern. So for example, adding
"-org.eclipse.server.handler.ContextHander" to the end of the server classes
array would be overridden by the last entry in the array
("org.eclipse.jetty.").

I've queried the default server classes with
WebAppContext.getServerClasses() and tweak the array returned by it, then
called WebAppContext.setServerClasses(String[]) method with the tweaked
array. I don't know what are the implications of removing (overriding) the
default entries, or using WebAppContext.addServerClass(String). The latter
would probably just append the pattern at hand to the end of the default
server classes array, which isn't always appropriate. Maybe someone can
clarify this.

Anyway, thanks again Jan and I hope somebody can benefit from my little
"description".

Regards,
Kohányi Róbert

On Mon, Oct 17, 2011 at 7:30 AM, Jan Bartel <[email protected]> wrote:

> Róbert,
>
> Have a read of this wiki page, as I think it will answer you questions:
>
> http://wiki.eclipse.org/Jetty/Reference/Jetty_Classloading
>
> regards
> Jan
>
> On 17 October 2011 02:01, Róbert Kohányi <[email protected]> wrote:
>
>> I'm trying to create a servlet which tries to use classes included in
>> Jetty's lib/ directory. Namely the class
>> org.eclipse.jetty.deploy.DeploymentManager which is included in
>> lib/jetty-deploy-8.0.3.v20111011.jar.
>>
>> Let me try to illustrate the problem with an example. See the following
>> servlet implementation here: http://pastebin.com/TSh98sYB
>>
>> Instantiating the DeploymentManager in the constructor generates no
>> errors, but doing the same in the doPut method always
>> throws: java.lang.NoClassDefFoundError:
>> org/eclipse/jetty/deploy/DeploymentManager.
>>
>> I'v tried saving Thread.currentThread().getContextClassLoader() (in the
>> constructor) in a static variable and load the DeploymentManager's class in
>> doPut, however it still threw an exception (same as above).
>>
>> I haven't got the faintest idea what could the problem be and that how can
>> I solve this.
>>
>> I'm using a Jetty 8.0.3.v20111011 without any modifications, downloaded
>> from here:
>> http://download.eclipse.org/jetty/stable-8/dist/jetty-distribution-8.0.3.v20111011.zip
>>
>> If anyone has an idea please let me know about it! Thanks!
>>
>> Regards,
>> Kohányi Róbert
>>
>> _______________________________________________
>> jetty-users mailing list
>> [email protected]
>> https://dev.eclipse.org/mailman/listinfo/jetty-users
>>
>>
>
> _______________________________________________
> jetty-users mailing list
> [email protected]
> https://dev.eclipse.org/mailman/listinfo/jetty-users
>
>
_______________________________________________
jetty-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/jetty-users

Reply via email to