2010-07-26 12 views
8

Entegrasyon test takımı üzerinde çalışıyorum ve sana bir sorum var.Maven - POM: Jetty portunu nasıl değiştirebiliriz, böylece daha sonra alınabilir mi?

Ana pompam, jetty eklentisinin amacını hedef-savaş ile tanımlar. İskelenin komut satırı üzerinden değiştirilebileceği limanı yapmalıyım. Bu, örneğin -Djetty.port = 8099 geçirilerek elde edilebilir.

Çocuk projesinde, iskele tarafından barındırılan hizmette çalıştırmam gereken bazı SOAP testleri için uç noktayı yapılandırmak üzere bu bağlantı noktası numarasını kullanmam gerekir.

Son nokta yapılandırmada çocuk pompamda $ {jetty.port} kullanırsam, bu iyi bir şekilde çalışır ve yalnızca maven'i çağırırken -Djetty.port'u açıkça geçerse. Çocuğum pom olarak

:


<endpoint>http://127.0.0.1:${jetty.port}/{artifactId}<endpoint> 

Ben jetty.port -Djetty.port açıkça geçmedi edilirse ne dalgakıran varsayılan için hangi 8080'den ile doldurulur ve hala başka liman değerlerini yakalamak gerekir komut satırı argümanı belirtilmişse.

cevap

9

özellikler bölümünü kullanın ve varsayılan bir değeri olan bir jetty.port özelliğini ekleyin:

<properties> 
    <jetty.port>8080</jetty.port> 
</properties> 
+0

Teşekkür ederiz. Bu çok zor değildi :-) Zamanlayıcı biter bitmez bu yazıyı cevap olarak kabul ediyorum. – John

+2

Bu işe yaramıyor. – Bobo

+1

Evet - benim için de işe yaramıyor. Komut satırında -Djetty.port = 8080 yapabilirim, fakat 'u pompada çalışmıyor. – hba

7

yapılandırma maven dalgakıran eklentisi: İsterseniz

<plugins> 

     <plugin> 
      <groupId>org.mortbay.jetty</groupId> 
      <artifactId>maven-jetty-plugin</artifactId> 
      <version>6.1H.14.1</version> 
      <configuration> 
       <connectors> 
        <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> 
         <port>8085</port> 
         <maxIdleTime>60000</maxIdleTime> 
        </connector> 
       </connectors> 
      </configuration> 
     </plugin> 
    </plugins> 

iskelesi daha yeni bir sürümünü kullanmaya

http://www.eclipse.org/jetty/documentation/current/jetty-maven-plugin.html: From:

eklentisi, aşağıdaki yapılandırmayı kullanmak

Bunun yerine konektörleri standart bir jetty xml config dosyasında yapılandırabilir ve yerini jettyXml parametresine yerleştirebilirsiniz. Jetty-9.0'dan beri 'un artık bir https bağlayıcısını doğrudan pom.xml içinde yapılandırmayacağını unutmayın: yapmak için jetty xml config dosyalarını kullanmanız gerekir.
şey gibi:

<plugin> 
     <groupId>org.eclipse.jetty</groupId> 
     <artifactId>jetty-maven-plugin</artifactId> 
     <version>9.0.5.v20130815</version> 
     <configuration> 
      <jettyXml>src/main/resources/jetty.xml</jettyXml> 
      <webApp> 
       <contextPath>/yourCtxPath</contextPath> 
      </webApp> 
     </configuration> 
    </plugin> 

jetty.xml dosya içeriği ile, hile yapacağını:


<?xml version="1.0"?> 
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd"> 

<Configure id="Server" class="org.eclipse.jetty.server.Server"> 
    <Call id="httpsConnector" name="addConnector"> 
    <Arg> 
     <New class="org.eclipse.jetty.server.ServerConnector"> 
     <Arg name="server"><Ref refid="Server" /></Arg> 
      <Set name="host"><Property name="jetty.host" /></Set> 
      <Set name="port"><Property name="jetty.port" default="8085" /></Set> 
      <Set name="idleTimeout">30000</Set> 
     </New> 
    </Arg> 
    </Call> 

</Configure> 

mvn iskelesi' sonra günlüğüne bakın: vadede ', sonunda bir şey gibi göstermelidir:
2013-09 -05 09: 49: 05,047: INFO: oejs.ServerConnector: Ana: Başlangıç ​​[email protected]{HTTP/1.1}{0.0.0.0: }

Sen için maven 3 ve java 7 kullanmanız gerekecektir eklentinin bu sürümü.

İlgili konular