Java HttpServer错误:访问限制:类型';HttpServer';这不是API
我试图用java类做一些事情 这是文档中的最小示例:Java HttpServer错误:访问限制:类型';HttpServer';这不是API,java,Java,我试图用java类做一些事情 这是文档中的最小示例: import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.InetSocketAddress; import com.sun.net.httpserver.HttpServer; class MyHandler implements HttpHandler { public void ha
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetSocketAddress;
import com.sun.net.httpserver.HttpServer;
class MyHandler implements HttpHandler
{
public void handle(HttpExchange t) throws IOException
{
InputStream is = t.getRequestBody();
read(is); // .. read the request body
String response = "This is the response";
t.sendResponseHeaders(200, response.length());
OutputStream os = t.getResponseBody();
os.write(response.getBytes());
os.close();
}
}
public class Main
{
HttpServer server = HttpServer.create(new InetSocketAddress(8000));
server.createContext("/applications/myapp", new MyHandler());
server.setExecutor(null); // creates a default executor
server.start();
}
但我得到了这个错误信息:
说明资源路径位置类型
访问限制:“HttpServer”类型不是API(对所需库“/library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home/jre/lib/rt.jar”的限制)Main.Java/test/src/test line 7 Java问题
这到底是什么意思?根据Oracle文档,这应该是可行的。还是我弄错了?错误消息想说您正在访问的代码不是该库的官方API的一部分。更具体地说,
com.sun.net.httpserver.httpserver
是一个不能保证包含在所有Java8运行时实现中的类。因此,在某些Java安装中,使用该类的代码可能会失败
为了仍然能够使用该类,请查看此问题的答案:。不要认为应该使用Sun的内部软件包,但仍然可以尝试禁用错误: 转到项目属性->Java编译器->错误/警告->已弃用和受限制的API 也可以帮助你
如果问题仍然存在,你可以去找谁说Eclipse有一种称为访问限制的机制,以防止你意外使用Eclipse认为不属于公共API的类。从构建路径中删除JRE系统库并将其重新添加。 选择“添加库”并选择JRE系统库。默认值应该可以工作
BuildPath>>库您正在使用Eclipse吗?是的,我正在使用Eclipse。