2012-07-25 30 views
11

Estoy usando maven-jetty-plugin e intento anular mi configuración de jetty.xml con -Djetty.port = 8090 pero no está funcionando. Sólo cuando se quita la pieza de conexión del archivo jetty.xml consigo el puerto sea 8090.Cómo reemplazar el archivo jetty.xml con embarcadero.port

Así:

mvn jetty:run -Djetty.port=8090 

Con el conector se inicia en el puerto 8080

Sin el conector se inicia en puerto 8090

El problema es que necesito configurar aceptadores, estadísticas y otras cosas. Intenté eliminar solo el puerto del conector, pero no funcionó.

que estoy usando:

JAVA 1.7_05 
MAVEN 3.0.4 
Jetty 8.1.4 
Linux Ubuntu 12.04 64bits 

Aquí es mi pom.xml configuración del plugin: conector

<plugin> 
      <groupId>org.mortbay.jetty</groupId> 
      <artifactId>jetty-maven-plugin</artifactId> 
      <version>8.1.4.v20120524</version> 
      <configuration> 
       <stopKey>foo</stopKey> 
       <stopPort>9990</stopPort> 
       <jettyXml>src/main/webapp/WEB-INF/jetty.xml</jettyXml> 
      </configuration> 
      <executions> 
       <execution> 
        <id>start-jetty</id> 
        <!-- <phase>pre-integration-test</phase> --> 
        <goals> 
         <goal>run</goal> 
        </goals> 
        <configuration> 
         <scanIntervalSeconds>0</scanIntervalSeconds> 
        </configuration> 
       </execution> 
       <execution> 
        <id>stop-jetty</id> 
        <!-- <phase>post-integration-test</phase> --> 
        <goals> 
         <goal>stop</goal> 
        </goals> 
       </execution> 
      </executions> 
</plugin> 

jetty.xml conf:

<Call name="addConnector"> 
    <Arg> 
     <New class="org.eclipse.jetty.server.nio.SelectChannelConnector"> 
     <Set name="host"><Property name="jetty.host" /></Set> 
     <Set name="port"><Property name="jetty.port" default="8080"/></Set> 
     <Set name="maxIdleTime">300000</Set> 
     <Set name="Acceptors">4</Set> 
     <Set name="statsOn">false</Set> 
     <Set name="confidentialPort">8443</Set> 
    <Set name="lowResourcesConnections">20000</Set> 
    <Set name="lowResourcesMaxIdleTime">5000</Set> 
     </New> 
    </Arg> 
</Call> 

Gracias de antemano!

ACTUALIZACIÓN 1: También intenté usar SystemProperty en lugar de Property en el archivo jetty.xml. No funcionó

+2

En caso de que un lector no quiere anular un jetty.xml-archivo , a continuación, utilizando una propiedad del sistema para anular el puerto por defecto en el pom funciona: ' \t \t \t embarcadero.puerto \t \t $ {} jetty.port \t ' – MiB

+0

El comentario anterior debería ser la respuesta aceptada –

Respuesta

7

ACTUALIZACIÓN 1: funcionó. No sé por qué, pero lo intenté con el host también como SystemProperty y funcionó. Luego eliminé el host y también funcionó.

Así finales conf conector jetty.xml trabajo fijo:

<Call name="addConnector"> 
    <Arg> 
     <New class="org.eclipse.jetty.server.nio.SelectChannelConnector"> 
     <Set name="host"><SystemProperty name="jetty.host" /></Set> 
     <Set name="port"><SystemProperty name="jetty.port" default="8080"/></Set> 
     <Set name="maxIdleTime">300000</Set> 
     <Set name="Acceptors">4</Set> 
     <Set name="statsOn">false</Set> 
     <Set name="confidentialPort">8443</Set> 
    <Set name="lowResourcesConnections">20000</Set> 
    <Set name="lowResourcesMaxIdleTime">5000</Set> 
     </New> 
    </Arg> 
</Call> 
+4

Para embarcadero 9, véase: http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/plain/jetty-server/src/main/config/etc/jetty-http.xml –

5

que tenían el mismo problema. Solución:

En la sección de propiedades del pom, definir jetty.port:

<properties> 
    <jetty.port>8888</jetty.port> 
      .... 
</properties> 

En la configuración plugin:

<connectors> 
    <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector"> 
     <maxIdleTime>3600000</maxIdleTime> 
     <port>${jetty.port}</port> 
    </connector> 

Esto permite anular el puerto en la línea de comandos con

mvn -D jetty.port=9999 jetty:run 
+0

de acuerdo. El puerto de configuración en POM es claro y directo –

+2

De esta manera no funcionó con Jetty 9 para mí. El puerto configurado no se respeta. La propiedad del sistema funcionó. Ver otro comentario – MiB

+2

Sí, no puedo creer que lo hayan sacado de Jetty 9. ¡Parece que es hora de rebajar! – CorayThan

0

si está utilizando el comando ./jetty.sh start para iniciar el servidor, se lee configure from start.i ni or start.d en la carpeta base, intente cambiar el puerto (embarcadero.port) en eso y reinicie el servidor.

0

Basta con retirar el marcado SystemProperty dentro "puerto" y poner el nuevo valor del puerto interior de "puerto" marcado:

enter image description here

Cuestiones relacionadas