2012-07-25 4 views
11

Uso il plug-in maven-jetty e provo a eseguire l'override dell'impostazione jetty.xml con -Djetty.port = 8090 ma non funziona. Solo quando rimuovo la parte del connettore dal file jetty.xml ottengo la porta da 8090.Come eseguire l'override di jetty.xml con jetty.port

Quindi:

mvn jetty:run -Djetty.port=8090 

Con il connettore inizia nel 8080

Senza il connettore inizia a porta 8090

Problema è necessario configurare creditori, statistiche e altre cose. Ho provato a rimuovere solo la porta dal connettore ma non ha funzionato.

sto usando:

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

Ecco la mia pom.xml configurazione del plugin: connettore

<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> 

Grazie in anticipo!

UPDATE 1: ha anche provato a utilizzare SystemProperty anziché Property nel jetty.xml. Non ha funzionato

+2

Nel caso in cui un lettore non vuole ignorare un jetty.xml file , quindi utilizzando una proprietà di sistema per sostituire la porta predefinita nel pom funziona: ' \t \t \t pontile.porto \t \t $ {} jetty.port \t ' – MiB

+0

Il commento precedente dovrebbe essere la risposta accettata –

risposta

7

AGGIORNAMENTO 1: ha funzionato. Non so perché, ma l'ho provato con l'host anche come SystemProperty e ha funzionato. Quindi ho rimosso l'host e ho lavorato anche.

Così finali conf connettore correzione jetty.xml di lavoro:

<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

Per Molo 9, vedi: http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/plain/jetty-server/src/main/config/etc/jetty-http.xml –

5

Ho avuto lo stesso problema. Fix:

Nella sezione delle proprietà del pom, definire jetty.port:

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

Nella configurazione plugin:

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

Ciò permette di sostituire la porta sulla linea di comando con

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

d'accordo. la porta di configurazione di POM è chiara e diretta –

+2

Questo modo di funzionare non ha funzionato con Jetty 9. La porta impostata non è rispettata. La proprietà del sistema ha funzionato. Vedi altro commento – MiB

+2

Sì, non posso credere che l'abbiano tirato fuori dal Jetty 9. Sembra che sia ora di effettuare il downgrade! – CorayThan

0

se si utilizza il comando ./jetty.sh start per avviare il server, si legge configure da start.i ni o start.d nella cartella base, prova a cambiare porta (jetty.port) e riavvia il server.

0

Basta togliere il markup SystemProperty dentro "porta", e mettere il nuovo valore della porta dentro "porta" markup:

enter image description here