仅使用java.lang包编译和运行

时间:2018-03-28 09:35:36

标签: java

我有 jdk-10_linux-x64_bin.tar.gz 。我已解开此文件。

我想修改JDK文件夹内容,这样当我使用javac bin文件编译java代码时,当java代码包含对任何其他包的引用时,它应该抛出 ClassNotFoundException (例如除了" java.lang。*"之外的java.io,java.util,..等)。我只想删除除" java.lang"之外的所有包。封装

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

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

是否有人尝试修改JDK文件夹内容?

2 个答案:

答案 0 :(得分:3)

请不要手动修改Java平台库

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

只需创建一个SecurityManager,您可以使用自定义安全政策在运行时使用System.setSecurityManager()方法设置该intro to security managers in Java

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

快速查看enter image description here

答案 1 :(得分:0)

转到C:\ Program Files \ Java \ jdk version \ jre \ lib,打开rt.jar作为zip,然后删除你想要的包