我有 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文件夹内容?
答案 0 :(得分:3)
而是使用自定义策略设置 SecurityManager ,您可以在其中决定允许运行哪些类(甚至方法)。
只需创建一个SecurityManager
,您可以使用自定义安全政策在运行时使用System.setSecurityManager()
方法设置该intro to security managers in Java。
这将允许您捕获违反安全策略时抛出的异常,以返回对用户有用的内容。
答案 1 :(得分:0)
转到C:\ Program Files \ Java \ jdk version \ jre \ lib,打开rt.jar作为zip,然后删除你想要的包