Gon*_*alo 11 java jetty embedded-jetty maven maven-jetty-plugin
我正在使用maven-jetty-plugin并尝试使用-Djetty.port = 8090覆盖我的jetty.xml设置,但它不起作用.只有当我从jetty.xml文件中删除连接器部分时,才会将端口设置为8090.
所以:
mvn jetty:run -Djetty.port=8090
Run Code Online (Sandbox Code Playgroud)
连接器从端口8080开始
没有连接器在端口8090中启动
问题是我需要配置接受器,统计和其他东西.我尝试只从连接器中删除端口,但它不起作用.
我正在使用:
JAVA 1.7_05
MAVEN 3.0.4
Jetty 8.1.4
Linux Ubuntu 12.04 64bits
Run Code Online (Sandbox Code Playgroud)
这是我的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>
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
提前致谢!
更新1:还尝试在jetty.xml中使用SystemProperty而不是Property.不工作
更新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>
Run Code Online (Sandbox Code Playgroud)
我有同样的问题.固定:
在pom的属性部分中,定义jetty.port:
<properties>
<jetty.port>8888</jetty.port>
....
</properties>
Run Code Online (Sandbox Code Playgroud)
在插件配置中:
<connectors>
<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
<maxIdleTime>3600000</maxIdleTime>
<port>${jetty.port}</port>
</connector>
Run Code Online (Sandbox Code Playgroud)
这样就可以在命令行上覆盖端口
mvn -D jetty.port=9999 jetty:run
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
30264 次 |
最近记录: |