繁体   English   中英

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

[英]Compile and Run with java.lang package alone

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

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

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

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

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

请不要手动修改Java平台库

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

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

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

看一下Java中安全管理器的快速入门

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM