Java Jersey RESTful Web服务连接被拒绝
我正在尝试在本地OS X计算机上运行Jersey服务器 到目前为止,我已经按照Jersey网站的说明执行了这三个命令:Java Jersey RESTful Web服务连接被拒绝,java,rest,maven,jersey,connection-refused,Java,Rest,Maven,Jersey,Connection Refused,我正在尝试在本地OS X计算机上运行Jersey服务器 到目前为止,我已经按照Jersey网站的说明执行了这三个命令: mvn archetype:generate -DarchetypeArtifactId=jersey-quickstart-grizzly2 \ -DarchetypeGroupId=org.glassfish.jersey.archetypes -DinteractiveMode=false \ -DgroupId=com.example -DartifactId=simp
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
而不是localhost访问它,并尝试在不同的端口上运行Jersey。似乎没有什么能解决它
我在OSX10.10上运行Jersey 2.1.4和Maven 3.2.3,并使用Java1.8.0
编辑:没有防火墙阻止传入连接。我关闭了它以消除这种可能性。如果您不需要使用glassfish堆栈:我更喜欢原型
com.sun.jersey.原型:jersey quickstart webapp
码头:
在pom的插件部分,用替换glassfish插件
org.eclipse.jetty
jetty maven插件
9.2.2.v20140723
现在,您可以使用mvn jetty:run
祝你们好运好了,伙计们,我找到了解决办法 默认的基本URI是
http://localhost:8080/myapp
。您可以在Main.java
中的第16行看到它:
public static final String BASE_URI = "http://localhost:8080/myapp/";
我将localhost
更改为0.0.0
,它成功了
public static final String BASE_URI = "http://0.0.0.0:8080/myapp/";
非常感谢你的帮助,很抱歉我最后回答了自己的问题。我希望它能在将来帮助一些人。听起来你有防火墙阻止服务器套接字。不,我没有。关闭防火墙是我做的第一件事,以确保这不是原因。很抱歉没有在我的问题中添加这一点。发布
netstat-tlp
$netstat-tlp
netstat:option需要一个参数--p
@arik OS X是一个BSD。感谢您的提示!碰巧,Jersey是规范的一部分,所以我不能使用您的解决方案。但也许其他可怜的人会觉得这很有帮助;)@arik My solutions仍然使用Jersey,只是运行它(用于测试)的服务器不同(jetty iso glassfish)