Цитата из http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty
У Jetty есть слоган: «Не развертывайте свое приложение в Jetty, разверните Jetty в своем приложении».Это означает, что в качестве альтернативы пакетированию вашего приложения в качестве стандартного WAR для развертывания в Jetty, Jetty разработан как программный компонент, который может быть создан и использован в Java-программе, как любой POJO.Иными словами, запуск Jetty во встроенном режиме означает добавление модуля HTTP в ваше приложение, а не помещение приложения на сервер HTTP.
Это означает, что вы можете просто добавить один класс Java в ваш проект, скомпилировать и запустить что-то вроде:
<target name="run.jetty">
<java class="myjettyrun/RunJetty" classpathref="classpath.run.jetty"/>
</target>
И RunJetty.java будет выглядеть примерно так:
package myjettyrun;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.webapp.WebAppContext;
public class RunJetty {
public static void main(String[] args) throws Exception {
Server server = new Server(80);
WebAppContext webapp = new WebAppContext();
webapp.setContextPath("/");
webapp.setWar("distrib/wars/root.war");
server.setHandler(webapp);
server.start();
server.join();
}
}
Это было протестировано на Jetty 8. Убедитесь, что у вас есть все необходимые банки для Jetty (jetty-webapps, jetty-server) и, возможно, поддержка jsp (например, jsp-2.1-glassfish)их зависимости в classpath.run.jetty
.
В http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty вы можете найти больше примеров того, как запустить причал в различных ситуациях.