3

我正在尝试在 ejre 上运行 restlet。在具有普通 jre 的 eclipse 中,代码工作得非常好,但在 ejre 中我得到以下异常:

java.lang.ClassNotFoundException: com.sun.net.httpserver.HttpHandler cannot be found

我正在使用 restlet v. 2.2.1。用于 jee 和 Java SE Embedded Runtime Environment(build 1.7.0_21-b11,headless)Java HotSpot Embedded Client VM(build 23.21-b01,混合模式)

我尝试了restlet v. 2.1。如here所述,但它不起作用。

有人有类似的问题吗?

4

2 回答 2

3

在(部分)回答您的问题之前,我必须解释一些事情。Restlet Framework 提供了一个 API 和一个实现,我们尝试在多个环境(经典 JVM、servlet 容器、android、gwt、gae)中提供它们。由于这些环境仅支持部分 JDK(例如 GWT 讨厌服务器代码),我们通过提供我们称之为框架的“版本”来解决这个限制(参见http://restlet.com/learn/guide/2.2/editions /)。

在ejre的上下文中,我了解不支持基于JDK轻量级服务器的内部服务器连接器。为了帮助您,我们可以介绍一个新版本(参见这张票https://github.com/restlet/restlet-framework-java/issues/939)。

由于我不确定能否很快提供它,我想知道您是否打算在 JVM 中运行 HTTP 服务器,或者您是否只想发出客户端请求。在这种情况下,您可以尝试在之前运行这些指令(未经测试):

org.restlet.engine.Engine.register(false);
Engine.getInstance().getRegisteredClients().add(new org.restlet.engine.connector.HttpClientHelper(null));
于 2014-08-07T15:16:48.770 回答
1

嘿有这个问题将 org.restlet.jee 从 2.0.15 升级到 2.2.0

必须将类添加到 Maven 依赖项

    <dependency>
        <groupId>com.sun.net.httpserver</groupId>
        <artifactId>http</artifactId>
        <version>20070405</version>
    </dependency>
于 2016-05-09T17:54:43.080 回答