Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jetty-users] Question regarding Embedded Jetty and WebApp Deployment

There are people on this forum that work on the jetty-osgi layers, stick around, they'll show up.
You might have more luck using those layers vs making your own bundle.

I just can't help you, as I avoid OSGi with a 100km pole.
But I know that the jetty-osgi layers represent at least 1,000 man hours of effort between all of the jetty and osgi experts that commit to it.

Joakim Erdfelt / joakim@xxxxxxxxxxx

On Fri, Aug 14, 2015 at 6:29 AM, Srijith Kochunni <ksrijith@xxxxxxxxxx> wrote:
Well, that's really too bad, considering this was working well in Jetty 6. Is there any other forum where I can get some help.? Is there anyone else on this list who has done similar thing.?
Thanks for your help anyway.
>>> Joakim Erdfelt <joakim@xxxxxxxxxxx> 8/14/2015 6:50 PM >>>
Oh crap, i didn't notice you were using OSGi, sorry.
Configurations under the OSGi environment cannot be made that simply, sorry.
Disregard everything i said.
I have no advice for you under OSGi.

Joakim Erdfelt / joakim@xxxxxxxxxxx

On Fri, Aug 14, 2015 at 5:50 AM, Srijith Kochunni <ksrijith@xxxxxxxxxx> wrote:
Hi Joakim,
Thank you for your answer. However unfortunately, it is not helping.
I made the changes you suggested, so effectively my code now, is
Server server = new Server(port);

WebAppContext webapp = new WebAppContext();

But even with this change, I am seeing that the exception still is, as follows
2015-08-14 18:05:48.563:INFO:oejs.Server:OSGi Console: jetty-9.2.12.v20150709
2015-08-14 18:05:48.616:WARN:oejw.WebAppContext:OSGi Console: Failed startup of context o.e.j.w.WebAppContext@4e8aa935{/,file:/C:/Users/Ksrijith/AppData/Local/T
emp/jetty-,null}{E:\jettyTest\webapps\testWebApp.war} E:\jettyTest\org\eclipse\jetty\webapp\webdefault.xml (The system cannot find the path specified)
at Method)
at org.eclipse.jetty.util.resource.FileResource.getInputStream(
at org.eclipse.jetty.webapp.Descriptor.parse(
at org.eclipse.jetty.webapp.WebDescriptor.parse(
at org.eclipse.jetty.webapp.MetaData.setDefaults(
at org.eclipse.jetty.webapp.WebXmlConfiguration.preConfigure(
at org.eclipse.jetty.webapp.WebAppContext.preConfigure(
at org.eclipse.jetty.webapp.WebAppContext.doStart(
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(
at org.eclipse.jetty.server.Server.start(
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(
at org.eclipse.jetty.server.Server.doStart(
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(
at com.microfocus.jettyserver.JettyServer.startServer(
at com.microfocus.jettyserver.bundle.JettyServerCmdProvider._startServer(
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(
at sun.reflect.DelegatingMethodAccessorImpl.invoke(
at java.lang.reflect.Method.invoke(
at org.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.execute(
at org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(
at org.eclipse.osgi.framework.internal.core.FrameworkConsole.console(
2015-08-14 18:05:48.672:INFO:oejs.ServerConnector:OSGi Console: Started ServerConnector@716afedb{HTTP/1.1}{}
>> Jetty 9.2.13.v20150730 is the current stable version of Jetty 9.2.x.
I have not tried moving to that version yet. Shall try that and update, But I am wondering if there is something more to this that I am missing. I did try placing the webdefault.xml that came along with the distribution, in the path it is looking for, but then that failed with some parsing exception.
>>> Joakim Erdfelt <joakim@xxxxxxxxxxx> 8/14/2015 5:39 PM >>>
Server server = new Server(80);

ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.addServlet(new ServletHolder(new HelloServlet()),"/hello");

ContextHandlerCollection contexts = new ContextHandlerCollection();

WebAppContext webapp = new WebAppContext();

Don't use this with a webapp (the .setWar() a few lines below this does this for you, and correctly)

This is the same contextPath as your ServletContextHandler above, this will never work, as your ServletContextHandler will answer all requests, never letting your WebAppContext process anything.

Just skip the ServletContextHandler entirely.
Use webapp.addServlet() instead.
contexts.setHandlers(new Handler[]{context, webapp});

If you have no ServletContextHandler, then you don't need the ContextHandlerCollection.


If you have no ContextHandlerCollection, you can just use server.setHandler(webapp)
The server starts up fine, the servlet handler is also registered fine, but my webapp Context startup always fails with the following exception
2015-08-14 14:06:13.523:INFO:oejs.Server:OSGi Console: jetty-9.2.12.v20150709

Jetty 9.2.13.v20150730 is the current stable version of Jetty 9.2.x
2015-08-14 14:06:13.527:INFO:oejsh.ContextHandler:OSGi Console: Started o.e.j.s.ServletContextHandler@12aa6801{/,null,AVAILABLE}
2015-08-14 14:06:13.539:WARN:oejw.WebAppContext:OSGi Console: Failed startup of context o.e.j.w.WebAppContext@71922339{/,file:/E:/jettyTest/,null}{E:\jettyTest\
webapps\testWebApp.war} E:\jettyTest\org\eclipse\jetty\webapp\webdefault.xml (The system cannot find the path specified)

The change to not use .setResourceBase() should have made an improvement here.
- Joakim
Click here to report this email as spam.

jetty-users mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit

jetty-users mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit

Back to the top