You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java程序迁移至Fedora后报Prohibited package name错误求助

解决Java迁移到Fedora后出现的Prohibited package name错误

问题分析

你遇到的java.lang.SecurityException: Prohibited package name: java.time错误,根源出在执行命令里手动将rt.jar添加到了类路径(classpath)中。

解决方案

直接去掉命令里的:/usr/java/jre1.8.0_411/lib/rt.jar部分,执行以下命令即可:

java Main

如果你的代码需要额外依赖,仅添加自定义的jar包或目录即可,不要将JRE自带的rt.jar加入classpath——JVM会自动处理系统核心类的加载,无需手动指定。

原因解释

Java的系统核心类(比如java.time下的类)由**启动类加载器(Bootstrap ClassLoader)**负责加载,这类类所在的java.开头包被JVM视为受保护的系统包,不允许用户通过自定义类路径加载这些包下的类。当你手动把rt.jar加到classpath时,会导致系统类被应用类加载器尝试加载,触发JVM的安全检查,从而抛出该异常。

你的代码本身没有问题,Windows上能运行是因为Windows下JVM对这类错误的兼容性处理不同,但手动添加rt.jar的做法本身不符合Java规范。

内容的提问来源于stack exchange,提问作者Asheesh Sinha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 19:12:07