我试图使用javaHttpServer
类做一些事情。
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第7行Java问题
这到底是什么意思?根据Oracle文档,这应该是可行的。还是我弄错了?
错误消息希望说明您访问的代码不是该库的官方API的一部分。更具体地说,com.sun.net.httpserver.httpserver
是一个类,它不能保证包含在所有Java8运行时实现中。因此,使用那个类的代码在某些Java安装中可能会失败。
为了仍然能够使用这个类,请研究以下问题的答案:由于对所需库RT.jar的限制,对类的访问限制?。
我正试图将旧项目转换为maven项目。但是当project是maven时,它会在带有Import的类上显示警告: 访问限制:类型'Base64Decoder'不是API(对所需库'C:\Program Files\java\jre7\lib\rt.jar'的限制)
问题内容: 这是代码: 这是错误: eclipse says this: 访问限制:类型“应用程序”不是API(对所需库“ /Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/rt.jar”的限制) 问题答案: 这也发生在我身上,这里给出的答案已经不令人满意,所以我做了自己的研究。 背景:Eclipse 访
代码如下: eclipse是这样说的: 访问限制:类型“Application”不是API(对所需库“/library/java/javavirtualmachines/jdk1.8.0_11.jdk/contents/home/jre/lib/rt.jar”的限制)
我已经在网上搜索了这个问题,并找到了许多线程,给出了一个接近我一直遭受的问题的解决方案。 我收到一个访问限制错误,如下所述:访问限制:由于对所需库/opt/java/jdk1.8.0_31/jre/lib/rt.jar的限制,无法访问类型JFrame 在我的代码中,JFrame和JPanel下面有红线 我在这些线程中执行了所需的操作,但问题是尚未解决的访问限制:由于对所需库JDK1.6.0\jre
在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。 但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的name、score属性: >>> bart = Student('Bart Simpson', 98) >>> bart.score 98 >>> bart.score = 59 >>> bart.sc
在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。 但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的name、score属性: >>> bart = Student('Bart Simpson', 59) >>> bart.score 59 >>> bart.score = 99 >>> bart.sc