Skip to main content
 首页 » 编程设计

java之单独使用java.lang包编译运行

2024年06月20日55zhenyulu

我有jdk-10_linux-x64_bin.tar.gz。我已经解压了这个文件。

我想修改 JDK 文件夹的内容,这样当我使用 javac bin 文件编译 java 代码时,当 java 代码包含对任何其他包的引用(例如java.io、java.util、..等)而不是“java.lang.*”。我只想删除除“java.lang”包之外的所有包。

即使 java 文件试图在运行时获取包(使用类加载器),类也不应该可用。所以我只想删除除“java.lang”包之外的其他包。

我试图在 JDK 文件夹中找到其他包,但我很困惑。我无法通过搜索谷歌直接找到任何解决方案。我也不知道删除其他包是否会导致一些依赖性错误。

有人试过修改JDK文件夹内容吗?

请您参考如下方法:

请不要手动修改Java平台库

请考虑使用自定义策略设置 SecurityManager,您可以在其中决定允许运行哪些类(甚至方法)。

只需创建一个 SecurityManager您可以使用System.setSecurityManager() 方法在您的运行时中使用您的自定义安全策略 进行设置。

这将允许您捕获发生违反安全策略时抛出的异常,以返回对用户有用的东西。

快速浏览一下 intro to security managers in Java .