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
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>
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
Entfernen Sie einfach das SystemProperty-Markup in "port" und setzen Sie den neuen Portwert in das Markup "port":
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.