我正在尝试在我的本地 OS X 机器上运行 Jersey 服务器。
到目前为止,我已经按照 Jersey 网站的说明执行了这三个命令:
mvn archetype:generate -DarchetypeArtifactId=jersey-quickstart-grizzly2 \
-DarchetypeGroupId=org.glassfish.jersey.archetypes -DinteractiveMode=false \
-DgroupId=com.example -DartifactId=simple-service -Dpackage=com.example \
-DarchetypeVersion=2.14
mvn clean test
mvn exec:java
它似乎工作正常,因为最后一个命令打印了这个:
Dec 17, 2014 12:05:15 PM org.glassfish.grizzly.http.server.NetworkListener start
INFO: Started listener bound to [localhost:8080]
Dec 17, 2014 12:05:15 PM org.glassfish.grizzly.http.server.HttpServer start
INFO: [HttpServer] Started.
Jersey app started with WADL available at http://localhost:8080/myapp/application.wadl
Hit enter to stop it...
但是,当尝试http://localhost:8080
在浏览器中调用时,我收到地址无法访问的错误。我也用 telnet 测试过:
telnet localhost 8080
返回连接被拒绝错误。显然,Jersey servlet“认为”它在本地侦听端口 8080,但绝对不是。我尝试使用127.0.0.1
而不是本地主机来访问它,并且我尝试在不同的端口上运行 Jersey。似乎没有什么可以解决它。
我在 OS X 10.10 上运行 Jersey 2.1.4 和 Maven 3.2.3 并使用 Java 1.8.0。
编辑:没有防火墙阻止传入连接。我已将其关闭以消除这种可能性。