如何从jdk中删除java包

时间:2013-03-10 15:28:19

标签: java

我只想保留java utilioniomath个软件包,并希望从我的JDK中删除所有其他软件包,例如java.sql和其他软件包。

如何删除它们?

  • 所以如果我写一些程序导入已删除的软件包,它会给出 错误包不存在。

3 个答案:

答案 0 :(得分:3)

我会尽力给你最好的答案。

为什么你真的不应该做你想做的事


当您编写代码时,通常同意以可扩展的方式开发该代码。也就是说,您的代码可以插入其他应用程序,也可以非常轻松地更改和添加。现在考虑到这个原则,让我们回顾一下当您删除程序的可能功能时会发生什么。假设您删除了SQL包,并且将来希望后端数据库在程序中提供一些持久性。你搞砸了。

Java的想法,实际上我甚至可以说Java的主要优势在于它的模式的通用性,一致性和标准化。吸气剂总是一个吸气剂。变量(不是常量)以小写字母开头。课程采用标准化的结构化方式。所有这些都使Java的开发变得非常直观。

JDK是该一致性的一部分,编辑它是真正影响Java的一个主要观点。听起来你想用一种不同的,更紧凑的语言来实现你的程序。

最后,您不知道客户将来如何扩展您的项目。如果您希望从客户那里获得一些可重复的业务,并在同一时间产生良好的声誉,您需要考虑到良好的设计实践来设计您的代码。

答案 1 :(得分:2)

使用SecurityManager而不是破解JDK

答案 2 :(得分:0)

  1. 没有这样的工具,AFAIK。
  2. 从Java库中删除内容在技术上可能很棘手,因为很难知道您的代码是否可能直接或间接使用某些类或方法。
  3. 如果您在JRE安装程序中添加或删除类,并将其发送给其他人,则可能存在“许可问题”。

  4. 关于您提议的用例。

    1. 如果您将其构建为Web应用程序,那么您将很难找到不需要的类。典型的webapp服务器端框架使用大量Java SE接口。
    2. 如果您接受并运行了想要尝试降低服务的代码,那么他们可以在不使用Object类的情况下执行此操作。 (提示:无限循环并填充堆。)在服务器上运行不受信任的代码是个坏主意。周期。
    3. 考虑某人试图在您的服务器上运行合法代码的后果。为什么不允许他们使用库类/方法? (如果我不能使用“普通”库类,我肯定会有点恼火......)
    4. 我的建议是重新考虑是否真的要实施这样的服务......考虑到风险,以及如果您的保障措施无效,您可能遇到的困难。如果您决定继续,我建议在安全框中运行JVM中的不受信任的代码。作为Java安全性受损的第二级防御,我建议在隔离的虚拟机中运行“chrooted”或更好的服务,如果遇到问题可以关闭它。