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コネクタ設定:
<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>
前もって感謝します!
更新1:jetty.xmlでPropertyの代わりにSystemPropertyを使用してみました。動作しませんでした
更新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>
私も同じ問題を抱えていました。修正:
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
「port」内のSystemPropertyマークアップを削除し、「port」マークアップ内に新しいポート値を配置するだけです。
./jetty.sh startコマンドを使用してサーバーを起動している場合は、ベースフォルダーのstart.iniまたはstart.dからconfigureを読み取ります。その中のポート(jetty.port)を変更して、サーバーを再起動してください。