package jetty;
import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.ContextHandlerCollection;
import org.eclipse.jetty.webapp.WebAppContext;
import jersey.guice.GuiceConfig;
public class JettyServer {
public static void main(String[] args) throws Exception {
Server server = new Server(8182);
String contentRoot = JettyServer.class.getProtectionDomain().getCodeSource().getLocation().toExternalForm();
System.out.println(contentRoot);
WebAppContext webapp = new WebAppContext();
webapp.setContextPath("/");
webapp.setServer(server);
webapp.setWar(contentRoot);
ContextHandlerCollection contexts = new ContextHandlerCollection();
contexts.setHandlers(new Handler[]{webapp});
server.setHandler(contexts);
webapp.addDecorator(new DecoratorAdapter(){
@Override
public <T> T decorate(T t) {
if (t instanceof GuiceConfig) {
GuiceConfig guiceConfig = (GuiceConfig) t;
guiceConfig.swapLogic();
}
return t;
}
});
server.start();
server.join();
}
}