嵌入docker服务器问题

我正在努力将jetty服务器嵌入到java应用程序中。 我使用spring来配置实际的对象,我可以构建webapp没有问题 – 但是我在启动服务器时遇到了这个问题……

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 

问题似乎与我的一些道路的东西…… dir结构是直接的(maven’推荐’) –

workspace / test / war / -src / main / java / test / Server.java -src / main / webapp / WEB-INF / web.xml

除此之外,它已经落入了我已经尝试过的web.xml中设置的弹簧(通过tomcat)。

main中的相关代码是这样的(否则它是属性废话):

 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"); 

任何帮助都很好……很有帮助。 这是我第一次尝试制作自己的网络服务器(所以欢迎其他建议!)

尽量包括

  org.eclipse.jetty jetty-jndi ${jetty.version}  

它正在尝试加载此类,因为在Jetty中默认情况下未配置JNDI。

这是了解Jetty的更多资源

https://jersey.java.net/documentation/latest/index.html

祝你好运!