The constructor BASE64Decoder() is not accessible due to restriction on required library

本文介绍了解决G4Studio开发环境中出现的BASE64Decoder构造限制错误的方法。通过调整项目构建路径设置,即移除并重新添加JRE System Library,可以有效解决此问题。
部署运行你感兴趣的模型镜像

搭建G4Studio的开发环境出现这个错误:

Description Resource Path Location Type Access restriction: The constructor BASE64Decoder() is not accessible due to restriction on required library D:\java\Tomcat6\jdk\jre\lib\rt.jar G4Utils.java /G4Studio/JavaCode/org/g4studio/core/util line 805 Java Problem

 

百度找到答案,只需要在project build path中先移除JRE System Library,再添加库JRE System Library,重新编译后就一切正常了。

您可能感兴趣的与本文相关的镜像

Seed-Coder-8B-Base

Seed-Coder-8B-Base

文本生成
Seed-Coder

Seed-Coder是一个功能强大、透明、参数高效的 8B 级开源代码模型系列,包括基础变体、指导变体和推理变体,由字节团队开源

Exception in thread "main" java.lang.Error: Unresolved compilation problems: Access restriction: The type String is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The type UIManager is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The type UIManager is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar The method getSystemLookAndFeel() is undefined for the type UIManager Access restriction: The type Exception is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The method printStackTrace() from the type Throwable is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The type JFrame is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The constructor JFrame(String) is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The type JFrame is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The method setDefaultCloseOperation(int) from the type JFrame is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The type JFrame is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The field EXIT_ON_CLOSE from the type JFrame is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The method setSize(int, int) from the type Window is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The method setLocationRelativeTo(Component) from the type Window is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The method add(Component) from the type Container is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The constructor JLabel(String, int) is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The type JLabel is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The type SwingConstants is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The field CENTER from the type SwingConstants is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar Access restriction: The method setVisible(boolean) from the type Window is not accessible due to restriction on required library C:\Program Files (x86)\Java\jdk1.8.0\jre\lib\rt.jar at MainApp.main(MainApp.java:5)测试的代码报错
最新发布
12-16
你现在的错误非常关键: > **所有 Java 基础类都被限制访问!** > `String`、`Exception`、`JFrame`、`JLabel`、`UIManager` 等等全部报: > > ``` > Access restriction: The type XXX is not accessible due to restriction on required library rt.jar > ``` 这说明:你的项目 **无法访问 JDK 的核心类库(rt.jar)**,哪怕是最基本的 `String` 都不能用! --- ## 🔥 根本原因 Eclipse 认为你引用的是一个“不完整”或“受限”的 JRE/JDK,导致它把 `rt.jar` 中的所有类都标记为 **不可访问**。 虽然你装了 JDK 1.8,但 Eclipse 可能以错误的方式加载了它 —— 比如把它当成了“外部库”而不是系统 JRE。 --- ## ✅ 终极解决方案(必须一步步操作) ### ✅ 第一步:彻底移除当前的 JRE 引用 1. 右键你的项目 → **Properties** 2. 左侧选择 **Java Build Path** 3. 中间标签页选 **Libraries** 4. 找到 `JRE System Library [JavaSE-1.8]` 或类似项 5. **选中它 → 点击右边的 Remove** 📌 此时你会发现 `src` 下的所有导入都变红了,没关系。 --- ### ✅ 第二步:重新添加标准 JRE(关键!) 1. 还在 **Java Build Path** 页面 2. 点击 **Add Library...** 3. 选择 **JRE System Library** → Next 4. 选择: ``` ☑ Standard Widget Toolkit (Standard) - Workspace default JRE (jdk1.8.0_xxx) ``` 5. 点击 **Finish** ✅ 这样才能确保你使用的是“标准可访问”的 JDK 环境 --- ### ✅ 第三步:检查是否还有 Access Rules 限制 展开刚刚添加的 `JRE System Library` → 找到 **Access rules** → 如果看到任何规则(尤其是 `access restrictive`),请做以下操作: #### 删除或修改 Access Rules: 1. 选中 **Access rules** → 点击 **Edit...** 2. 如果列表中有内容: - 选中每一行 → 点击 **Remove** 3. 然后点击 **Add...** - Rule kind: `resolution` - Matching rule: `**` 4. 点击 OK → Apply and Close > ⚠️ 必须有这一条,否则仍然会被拦截 --- ### ✅ 第四步:验证是否修复成功(最小测试代码) 将以下代码复制到 `MainApp.java`: ```java import javax.swing.*; import java.awt.*; public class MainApp { public static void main(String[] args) { JFrame frame = new JFrame("Hello"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(200, 100); frame.setLocationRelativeTo(null); frame.add(new JLabel("Success!", SwingConstants.CENTER)); frame.setVisible(true); } } ``` 📌 注意:这次我们连 `UIManager` 都不用,只测试最基础的 Swing 能否运行。 --- ### ✅ 第五步:清理并运行 1. 菜单栏:**Project → Clean** → Clean your project 2. 保存文件(Ctrl + S) 3. 右键 `MainApp.java` → **Run As → Java Application** --- ## ✅ 成功标志 如果弹出一个窗口,中间写着 `"Success!"`,就说明: 🎉 所有类都能正常访问了! ✅ `JFrame`、`JLabel`、`String`、`Exception` 全部恢复正常 ➡️ 你现在可以开始开发学生信息管理系统了! --- ## ❌ 常见陷阱(避免再错) | 错误做法 | 正确做法 | |--------|---------| | 直接把 `rt.jar` 当外部 JAR 添加 | 使用 **Add Library → JRE System Library** | | 不检查 Access rules | 必须添加 `resolution **` 规则 | | 从别的项目复制 `.classpath` 文件 | 手动重建 Build Path 更安全 | --- ## 💡 补充建议 如果你以上步骤都做了还是不行,请尝试: ### 创建一个全新的 Java 项目: 1. **File → New → Java Project** 2. 输入项目名:`TestSwing` 3. 点击 **Next** → 切换到 **Libraries** 标签页 4. 点击 **Add Library** → 选择 **JRE System Library** → 完整添加 5. Finish 6. 新建类 `MainApp`,粘贴上面的成功代码 👉 很多时候旧项目的配置已经“中毒”,新建项目反而最快解决! --- ## ✅ 总结:你现在要做的三件事 | 步骤 | 操作 | |------|------| | 1 | 移除现有 JRE,用 **Add Library → JRE System Library** 重新添加 | | 2 | 设置 Access Rules:添加 `resolution` + `**` | | 3 | 新建一个干净项目或清理旧项目,运行最小测试代码 | 只要这三步完成,你的程序一定能跑起来! 如果还有问题,请告诉我: - Eclipse 版本(帮助 → About Eclipse) - JDK 是否是 32位?从哪下载的? - 截图显示 Build Path 和 Access Rules 设置 我可以继续帮你远程诊断。
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值