I had some struggle with dock server attachment in java application. I use spring to configure real objects and I can create a webapp without problems, but I get this problem when the server starts ...
0 [main] INFO test.Server - Starting server in 'c:/workspace/test/war/' on port 9090 34615 [main] INFO test.Server - Using resource base: src/main/webapp 34615 [main] INFO test.Server - Using descriptor file: src/main/webapp/WEB-INF/web.xml 2011-09-05 12:29:36.961:INFO::Logging to STDERR via org.mortbay.log.StdErrLog 36344 [main] INFO test.Server - Starting Server! 2011-09-05 12:29:37.023:INFO::jetty-6.1H.22 2011-09-05 12:29:37.039:WARN::Failed startup of context org.mortbay.jetty.webapp.WebAppContext@8ab708{/TestServer,file:/C:/workspace/test/war/src/main/webapp/} java.lang.ClassNotFoundException: org.mortbay.jetty.plus.webapp.EnvConfiguration at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) at org.mortbay.util.Loader.loadClass(Loader.java:91) at org.mortbay.util.Loader.loadClass(Loader.java:71) at org.mortbay.jetty.webapp.WebAppContext.loadConfigurations(WebAppContext.java:859) at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:431) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) at org.mortbay.jetty.Server.doStart(Server.java:224) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at test.Server.main(Server.java:84) 2011-09-05 12:29:37.054:INFO::Started SocketConnector@0.0.0.0:9090
The problem seems to be related to some of my things ... the dir structure is straightforward (which maven suggests) -
workspace / test / war / -src / Basic / Java / test / Server.java -src / Basic / WebApp / WEB-INF / web.xml
In addition, it falls into the spring material, which I have installed in web.xml, which has been verified and is right (via tomcat).
The relevant code is basically this (otherwise it's a crap property):
svrLogger.info ("Starting server in '" + home + "' on port " + port); String rsrcBase = "src/main/webapp"; String webXml = rsrcBase + "/WEB-INF/web.xml"; svrLogger.info ("Using resource base: " + rsrcBase); svrLogger.info ("Using descriptor file: " + webXml); Server server = new Server(port); WebAppContext webapp = new WebAppContext(); webapp.setContextPath ("/TestServer"); webapp.setDescriptor (home + "/" + webXml); webapp.setResourceBase (home + "/" + rsrcBase); webapp.setParentLoaderPriority (true); server.setHandler(webapp); svrLogger.info ("Starting Server!"); server.start(); server.join(); svrLogger.info ("Joined and exiting");
Any help is good ... helpful. This is the first time I have tried to create my own web server (so other tips are welcome too!)
java web-services jetty embedded-jetty
rybit
source share