我正试图在ejre上运行restlet。在普通jre的eclipse中,代码工作得很好,但在ejre中我得到以下异常:
java.lang.ClassNotFoundException: com.sun.net.httpserver.HttpHandler cannot be found
我正在使用restlet v.2.2.1。用于jee和Java SE嵌入式运行时环境(版本1.7.0_21-b11,无头)Java HotSpot嵌入式客户端VM(版本23.21-b01,混合模式)
我尝试了reslet v.2.1。正如here中提到的那样但它没有用。
是否有人有类似的问题?
答案 0 :(得分: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));
答案 1 :(得分:0)
嘿有这个问题将org.restlet.jee从2.0.15升级到2.2.0
必须将类添加到maven依赖项
<dependency>
<groupId>com.sun.net.httpserver</groupId>
<artifactId>http</artifactId>
<version>20070405</version>
</dependency>