如何在java11中使用jetty驱动程序解决HTTP:503服务不可用错误?
我需要使用java 11的jetty驱动程序启动本地服务器。 我可以启动服务器并使用Java8访问它,但是使用Java11,当我使用curl命令检查服务器是否可访问时,它返回以下结果:如何在java11中使用jetty驱动程序解决HTTP:503服务不可用错误?,jetty,java-11,maven-jetty-plugin,Jetty,Java 11,Maven Jetty Plugin,我需要使用java 11的jetty驱动程序启动本地服务器。 我可以启动服务器并使用Java8访问它,但是使用Java11,当我使用curl命令检查服务器是否可访问时,它返回以下结果: $ curl http://localhost:8080//sample/site/URL/info <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> <ti
$ curl http://localhost:8080//sample/site/URL/info
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>Error 503 Service Unavailable</title>
</head>
<body><h2>HTTP ERROR 503</h2>
<p>Problem accessing /sample/site/URL/info. Reason:
<pre> Service Unavailable</pre></p><hr><a href="http://eclipse.org/jetty">Powered by Jetty:// 9.4.20.v20190813</a><hr/>
</body>
</html>
如您所见,我使用的是Jetty 9.4.20.v20190813版本jars。
除了jetty,你知道我还应该研究什么吗?jetty版本 如您所见,我使用的是Jetty
9.4.20.v20190813
版本jars。除了jetty,你知道我还应该做些什么吗
事实上,你的stacktrace不是这么说的
java.io.IOException: Server returned HTTP response code: 503 for URL: http://localhost:8080/idp/idpservice/register
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1894) ~[na:1.8.0_192]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492) ~[na:1.8.0_192]
码头9.2.x为EOL(寿命终止)
见:
对Java11的支持直到Jetty9.4.8才开始
503根据您的Stacktrace确定的原因
stacktrace中的状态代码503来自HttpURLConnection
,而不是Jetty
http://localhost:8080//sample/site/URL/info
URL不匹配
stacktrace和原始问题使用不同的URL
原始问题
堆栈跟踪
码头如何响应503
只有少数几个地方Jetty本身会以状态代码503(服务不可用)进行响应。(所有其他状态代码503响应来自应用程序及其自己的库,而不是Jetty)
org.eclipse.jetty.servlets.DataRateLimitedServlet
的应用程序servlet将以状态代码503响应目录请求(以/
结尾的请求)。(Jetty本身没有Servlet或过滤器使用此Servlet)javax.servlet.UnavailableException
503最常见的原因是webapp部署错误,只有服务器端的日志(在部署webapp期间)有助于发现此状态及其原因。使用正确的URL<代码>http://localhost:8080/sample/site/URL/info(修复双
/
)我们需要更多信息。服务器启动日志?503通常是一个提示,表示有东西存在,但没有开始。Jetty 9.4.x适用于从8.0到Java14的所有Java版本。每个提交都是跨Java8、Java11和Java13构建和测试的。我发现服务器没有正确启动。我看到以下错误,关于其中一个文件,无法解析字符串值“file:${tss.data}/idp/resources/conf/internal.xml”中的占位符“tss.data”
知道是什么导致了这个错误吗?知道了。项目试图在加载值之前访问tss.data
的值。然而,我仍然面临同样的HTTP:503错误问题。在将代码从java 8迁移到java 11平台时,我已经用java 11兼容的版本更新了所有包。
java.io.IOException: Server returned HTTP response code: 503 for URL: http://localhost:8080/idp/idpservice/register
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1894) ~[na:1.8.0_192]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492) ~[na:1.8.0_192]
http://localhost:8080//sample/site/URL/info
http://localhost:8080/idp/idpservice/register