我试图在 Equinox 上运行的 OSGi 包中将 Sun 的 HTTPServer 换成更好的 Jetty 服务器。
我试过这个:
System.setProperty("com.sun.net.httpserver.HttpServerProvider","org.mortbay.jetty.j2se6.JettyHttpServerProvider");
但是当调用 endpoint.publish(url) 并生成服务器时,它会抱怨 org.mortbay.jetty.j2se6.JettyHttpServerProvider 的 ClassNotFoundException。
但是,正确的 jar 在包中,实际上在 Activator 中我可以实例化 org.mortbay.jetty.j2se6.JettyHttpServerProvider。
我认为这是某种类路径问题 - 生成的服务器可能位于不同的类路径中?我尝试在 JDK 级别添加 JAR,但这没有任何区别。
任何人都可以阐明如何使这项工作正常进行吗?
PS 也许有一天,可怕的 System.setProperty 调用将从世界上消失。希望 :)