Estoy trabajando con jetty hightide vesión 7 en la actualidad como un solo servidor. Tengo un proyecto web simple con un par de jsp y el respaldo de las clases que estoy implementando actualmente en una munición sin estallar la guerra a la JETTY_HOME/directorio webapps.

Actualmente, el embarcadero fácilmente recoge la estática jsp/html cambios. Si entiendo correctamente, puedo configurar mi app para que jetty recogerá cualquier clase de cambios sin reiniciar el servidor? Actualmente tengo en mi jetty-web.xml:

<?xml version="1.0"  encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">

<!--
    This is the jetty specific web application configuration file. When
    starting a Web Application, the WEB-INF/web-jetty.xml file is looked
    for and if found, treated as a
    org.eclipse.jetty.server.server.xml.XmlConfiguration file and is
    applied to the org.eclipse.jetty.servlet.WebApplicationContext objet
-->

<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Call class="org.eclipse.jetty.util.log.Log" name="debug">
    <Arg>executing jetty-web.xml</Arg>
</Call>
<Set name="contextPath">/SimpleDynamicProject</Set>

</Configure>

También he creado un SimpleDynamicProject.xml y lo puso en JETTY_HOME/contextos. Este archivo contiene:

<?xml version="1.0"  encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">

<!--
    This is the jetty specific web application configuration file. When
    starting a Web Application, the WEB-INF/web-jetty.xml file is looked
    for and if found, treated as a
    org.eclipse.jetty.server.server.xml.XmlConfiguration file and is
    applied to the org.eclipse.jetty.servlet.WebApplicationContext objet
-->

<Configure class="org.eclipse.jetty.webapp.WebAppContext">

<Set name="contextPath">/SimpleDynamicProject</Set>
<Set name="resourceBase"><SystemProperty name="jetty.home" default="."/>/webapps/SimpleDynamicProject</Set>
</Configure>

No estoy seguro de cómo iniciar correctamente Jetty en el modo de depuración que leí fue necesario también. He intentado iniciar el servidor con:

java -Xdebug -jar start.jar OPTIONS=Server,jsp

y

java -Ddebug -jar start.jar OPTIONS=Server,jsp

Esta es la primera vez que he utilizado el embarcadero, pero hasta ahora me gusta.

Gracias por la ayuda.

InformationsquelleAutor Casey | 2010-03-04

2 Comentarios

  1. 0

    Si quieres usar jetty plugin de maven

       <plugin>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>maven-jetty-plugin</artifactId>
            <version>6.1.25</version>
            <configuration>
                <scanIntervalSeconds>10</scanIntervalSeconds>
                <requestLog implementation="org.mortbay.jetty.NCSARequestLog">
                    <!--
                              This doesn't do anything for Jetty, but is a workaround for a
                              Maven bug that prevents the requestLog from being set.
                          -->
                    <append>true</append>
                </requestLog>
                <webApp>${basedir}/out/war/Spring2_5_6_war.war</webApp>
            </configuration>
        </plugin>
    • Este es, de hecho, exactamente lo que estamos haciendo en nuestro equipo ahora. Esta es casi toda la configuración que se necesita. También, estamos utilizando tapestry5 y esta combinación de maven/jetty funciona muy bien con eso.
  2. 5

    Necesita definir una ContextDeployer con un no-cero intervalo de escaneo:

    <Call name="addLifeCycle">
      <Arg>
        <New class="org.mortbay.jetty.deployer.ContextDeployer">
          <Set name="contexts"><Ref id="Contexts"/></Set>
          <Set name="configurationDir"><SystemProperty name="jetty.home" default="."/>/contexts</Set>
          <Set name="scanInterval">1</Set>
        </New>
      </Arg>
    </Call>

    Con respecto a la depuración, supongo que lo que tienes en mente es la de conectar un depurador remoto utilizando JPDA. Para esto, tendrás que ajustar la -agentlib:jdwp opción1:

    -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

    Configurar su depurador del IDE para conectar en el puerto especificado.

    1 si el objetivo de la VM es de 5.0 o más reciente, -agentlib:jdwp es preferible a la -Xdebug y -Xrunjdwp opciones que aún están soportados, sin embargo.

    • Oh, así que he de añadir que a mi proyecto jetty.xml archivo? Yo estaba tratando de configurar dentro del contexto de directorio de la escollera servidor bajo myapp.xml por ejemplo. Gracias por la información de depuración así!
    • Sí yo creo que sí (de hecho, yo siempre uso Embarcadero de Maven, así que estoy más acostumbrado a configurar el plugin de maven, pero la lógica se aplica también aquí). Por CIERTO, la forma más común de reconocer a una buena respuesta es upvoting ella 😉

Dejar respuesta

Please enter your comment!
Please enter your name here