Как переопределить jetty.xml с jetty.port

Я использую maven-jetty-plugin и пытаюсь переопределить свой параметр jetty.xml с -Djetty.port = 8090, но он не работает. Только когда я удаляю соединительную деталь из файла jetty.xml, я получаю, чтобы порт был 8090.

Итак:

 mvn jetty:run -Djetty.port=8090

При запуске разъема на порту 8080

Без подключения соединителя в порту 8090

Проблема в том, что мне нужно настроить акцепторы, статистику и прочее. Я попытался удалить только порт из разъема, но он не работал.

Я использую:

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

Здесь моя конфигурация плагина pom.xml:

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

Спасибо заранее!

UPDATE 1: Также попытался использовать SystemProperty вместо Property в файле jetty.xml. Не работает

Ответ 1

ОБНОВЛЕНИЕ 1: работа. Не знаю, почему, но я попробовал его с хостом также как SystemProperty, и он сработал. Затем я удалил хост и тоже работал.

Итак, окончательный исправный рабочий разъем jetty.xml conf:

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

Ответ 2

У меня была та же проблема. Fix:

В разделе свойств pom определите jetty.port:

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

В конфигурации плагина:

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

Это позволяет переопределить порт в командной строке с помощью

mvn -D jetty.port=9999 jetty:run

Ответ 3

если вы используете команду. /jetty.sh для запуска сервера, он читает configure из start.ini или start.d в базовой папке, попробуйте изменить порт (jetty.port) на этом и перезапустить сервер.

Ответ 4

Просто удалите разметку SystemProperty внутри "port" и поместите новое значение порта внутри разметки "port":

enter image description here