Eclipse中com.sun包无法访问求助(已尝试常规方案无效)
解决Eclipse中com.sun包不可访问的问题
针对你导入com.sun.net.httpserver.HttpServer时遇到的"The package com.sun is not accessible"问题,结合JDK17的模块化特性,给你几个针对性的解决方法:
1. 模块化项目添加模块依赖
如果你的项目是Java 9+模块化项目(存在module-info.java文件),必须在该文件中声明对jdk.httpserver模块的依赖:
module 你的模块名 { requires jdk.httpserver; }
添加后保存,Eclipse会自动加载该模块的访问权限。
2. 非模块化项目调整访问规则与编译器设置
(1)修正访问规则配置
你提到已经添加了访问规则,但可能配置有误,重新确认步骤:
- 右键项目 → 属性 → Java Build Path → Libraries
- 展开当前使用的JDK17,选中"Access rules"点击「Edit」
- 点击「Add」,规则类型选择
Accessible,模式填写com/sun/**(注意是斜杠分隔,不是点) - 点击确定后,应用并关闭设置窗口
(2)调整编译器警告级别
如果访问规则仍不生效,修改编译器对受限API的处理级别:
- 右键项目 → 属性 → Java Compiler → Errors/Warnings
- 展开"Deprecated and restricted API"目录
- 将"Forbidden reference (access rules)"的级别从「Error」改为「Warning」或「Ignore」
- 应用设置并重新编译项目
3. 确认JDK配置正确性
- 检查Eclipse中项目使用的JDK是否为完整版本:右键项目 → 属性 → Java Build Path → Libraries,确认JDK路径指向的是完整的JDK安装目录,而非JRE
- 若仍有问题,尝试删除当前项目的JDK依赖,重新添加一次JDK17:选中Libraries中的JDK,点击「Remove」,再点击「Add Library」→「JRE System Library」→ 选择已安装的JDK17
内容的提问来源于stack exchange,提问作者user20808572
相关产品推荐
相关产品推荐

