不能使用 com.sun.net.httpserver - Java 8

Cannot use com.sun.net.httpserver - Java 8

我正在尝试创建一个简单的服务器程序来处理 http 请求。因此,通过最少的搜索,我偶然发现了 com.sun.net 包中 httpserver class 的 oracle 文档。我对 Java 比较陌生,所以我认为 Oracle 本身的 class "sponsored" 会包含在默认库中。

不幸的是,事实并非如此。在对可能的语法导入错误(各种错误引起)进行了大量试验并在我的 Ubuntu 机器上正确安装了 Oracle JDK 8 之后,编译器说该包不存在。我需要做什么才能使软件包正常工作?

首先尽量避免使用 com.sun.xxx 包,因为它们是 Oracle/Sun java 实现的内部组件。

其次,为什么不使用 apache 的库?参见 https://hc.apache.org/

已编辑:

您也可以查看 http://sparkjava.com/,未经测试,但示例看起来很有前途,它们使用了 Java 8 个不错的功能。

我终于成功了。大多数情况下,这是我的误解,因为我只导入了一个错误的点——也就是说,我只导入了 com.sun.net.httpserver,以为后一部分是我想要的实际 class,但是它只是包名。然后我开始导入 com.sun.net.httpserver.HttpServer,然后是 classes 的其余部分。最后 com.sun.net.httpserver.* 可以完美地工作。现在我想通了,这似乎很愚蠢,但我想我会把它留在这里,以防万一有人有同样的误解——我已经在这个问题上看到了一个最爱。当然,正如其他人指出的那样,该软件包不是标准 java 库的一部分,但我专门为此使用了 Oracle Java。

P.S。 class 真的很有用,不像其他答案暗示的那样,但现在我偶然发现了另一个关于正确读取请求正文的问题,这可能与客户端服务器的区域设置有关,我会现在开始搜索它。只是对任何想使用该软件包的人的警告。