【问题标题】:Android - First run of Restlet 2.2 server - No available server connectorAndroid - Restlet 2.2 服务器的首次运行 - 没有可用的服务器连接器
【发布时间】:2014-08-25 09:55:19
【问题描述】:

我正在尝试使用以下代码运行我的第一个 Restlet 服务器:

import org.restlet.Server;
import org.restlet.data.Protocol;
import org.restlet.resource.Get;
import org.restlet.resource.ServerResource;

public class WebServer extends ServerResource {

    /**
     * @param args
     * @throws Exception
     */
    public WebServer() throws Exception {
        // Create the HTTP server and listen on port 8182
        Server server = new Server(Protocol.HTTP, 8182, WebServer.class);
        server.start();

    }

    @Get
    public String present() {
        return "hello, world";
    }
}

但是当我启动服务器时,我得到这个错误信息:

No available server connector supports the required protocols: 'HTTP' . Please add the JAR of a matching connector to your classpath. Then, register this connector helper manually.

我将“org.restlet.jar”复制到 \libs 文件夹,并将 JAR 添加到 Java 构建路径中的库中。我该怎么办?怎么了?

【问题讨论】:

  • 您不再需要这样做“将 JAR 添加到 Java 构建路径中的库”
  • 我将其从库中删除,但仍然出现相同的错误。
  • 您是否尝试过清理和重建它
  • 或者您有一些说明/教程如何在 Eclipse 中将 Restlet 导入 Android 项目?
  • 我试过旧版本(2.1.7),没问题。最新版本有问题吗?

标签: java android restlet restlet-2.0


【解决方案1】:

如果您将其配置为使用 NIO HttpServerHelper,则可以运行它。只需下载 NIO 扩展并在 RestLet 引擎中配置它,您就可以再次启动 HTTP 服务器。 (在 2.3.1 上测试)。

import org.restlet.ext.nio.HttpServerHelper; 

...

Engine.getInstance().getRegisteredServers().clear();
Engine.getInstance().getRegisteredServers().add(new HttpServerHelper(null));

要查看 NIO 扩展是否适用于您的版本,您可以查看: http://restlet.com/technical-resources/restlet-framework/guide/2.3/extensions/editions-matrix

【讨论】:

  • 这个答案应该被接受。使用 NIO 扩展并注册 HttpServerHelper 确实为我解决了这个问题。
  • 答案也有助于 2.3.6 仍然出现此问题的地方。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-24
  • 1970-01-01
  • 1970-01-01
  • 2011-04-01
  • 1970-01-01
相关资源
最近更新 更多