webentwicklung-frage-antwort-db.com.de

Wie man jetty.xml mit jetty.port überschreibt

Ich verwende das Maven-Jetty-Plugin und versuche, meine jetty.xml-Einstellung mit -Djetty.port = 8090 zu überschreiben, aber es funktioniert nicht. Erst wenn ich den Connector-Teil aus der Datei jetty.xml entferne, wird der Port auf 8090 gesetzt.

So:

 mvn jetty:run -Djetty.port=8090

Mit dem Stecker beginnt in Port 8080

Ohne den Stecker startet in Port 8090

Das Problem ist, dass ich Akzeptoren, Statistiken und andere Dinge konfigurieren muss. Ich habe versucht, nur den Port vom Anschluss zu entfernen, aber es hat nicht funktioniert.

Ich benutze:

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

Hier ist meine Plugin-Konfiguration für 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-Konnektor 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>

Danke im Voraus!

UPDATE 1: Es wurde auch versucht, SystemProperty anstelle von Property in der Datei jetty.xml zu verwenden. Funktioniert nicht

11
Gonzalo

UPDATE 1: hat funktioniert. Ich weiß nicht warum, aber ich habe es mit dem Host auch als SystemProperty versucht und es hat funktioniert. Dann habe ich Host entfernt und auch gearbeitet.

So endgültige Korrektur funktioniert jetty.xml Connector 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>
7
Gonzalo

Ich hatte das gleiche problem Fix:

Definieren Sie im Abschnitt "Eigenschaften" des POM "jetty.port":

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

In der Plugin-Konfiguration:

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

Dies ermöglicht das Überschreiben des Ports in der Befehlszeile mit

mvn -D jetty.port=9999 jetty:run
5
RobAu

Entfernen Sie einfach das SystemProperty-Markup in "port" und setzen Sie den neuen Portwert in das Markup "port":

enter image description here

wenn Sie den Server mit dem Befehl ./jetty.sh start starten, lesen Sie configure in der Datei start.ini oder start.d im Basisordner. Versuchen Sie, den Port (jetty.port) darin zu ändern, und starten Sie den Server neu.

0
Amit