Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jersey RESTful Web服务连接被拒绝_Java_Rest_Maven_Jersey_Connection Refused - Fatal编程技术网

Java Jersey RESTful Web服务连接被拒绝

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

我正在尝试在本地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
而不是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)