我已经配置了eclipse jetty
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.1.0.v20131115</version>
<configuration>
<scanIntervalSeconds>1</scanIntervalSeconds>
<webApp>
<contextPath>/websockets</contextPath>
</webApp>
</configuration>
</plugin>
现在我想将它部署到Heroku。我将插件更改为Mortbay Jetty
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals><goal>copy</goal></goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-runner</artifactId>
<version>7.5.4.v20111024</version>
<destFileName>jetty-runner.jar</destFileName>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
应用程序启动但contextPath未设置为/ websockets。我如何配置Mortbay Jetty的contextPath?
答案 0 :(得分:2)
org.mortbay.jetty
适用于Jetty 6及更早版本。 (不要使用Jetty 6 ,它在2010年初回归EOL并且从那以后没有安全或网络更新)
(历史课)
从Jetty 7开始,项目移至Eclipse Foundation,因此名称为org.eclipse.jetty
。 Jetty 7是第一个实现WebSocket草案的Jetty版本。 API在Jetty 7和Jetty 8的整个过程中发展,并且对WebSocket提供了不错的(但不是部分/不完整)支持。
WebSocket实现(API和协议)在Jetty 9中进行了大量重构,以支持最终的RFC-6455(WebSocket协议),以及WebSocket扩展,并添加对JSR-356(Java WebSocket API)的支持。
你也不应该混合Jetty的版本,7.5.4版本的Jetty runner和9.1.0的jetty-maven-plugin - 这将永远无法工作。
话虽如此,这里有2个最常用的XML片段。
码头-行家-插件
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.2.2.v20140723</version>
<configuration>
<scanIntervalSeconds>1</scanIntervalSeconds>
<webApp>
<contextPath>/websockets</contextPath>
</webApp>
</configuration>
</plugin>
码头浇道
<artifactItem>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-runner</artifactId>
<version>9.2.2.v20140723</version>
<destFileName>jetty-runner.jar</destFileName>
</artifactItem>