Опыт запуска Jetty 7 или 8 от муравья? - PullRequest
2 голосов
/ 07 сентября 2011

Есть ли способ запустить причал 7 или 8 из муравья? Есть плагин ant, который отлично работает только с (pre-eclipse) версией 6, но версии eclipse, по-видимому, доступны только в автономной форме.

1 Ответ

2 голосов
/ 24 февраля 2012

Цитата из 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 вы можете найти больше примеров того, как запустить причал в различных ситуациях.

...