【发布时间】:2012-06-14 16:26:11
【问题描述】:
好的,所以我正在编写一个 JAR 作为即时通讯系统的后端实现。为了让课程进行互动,我使用public class MyClassHere { ... }。但是当我将所有类编译到 JAR 中时,我不希望除主类之外的任何类都可以访问。我该怎么做?
【问题讨论】:
好的,所以我正在编写一个 JAR 作为即时通讯系统的后端实现。为了让课程进行互动,我使用public class MyClassHere { ... }。但是当我将所有类编译到 JAR 中时,我不希望除主类之外的任何类都可以访问。我该怎么做?
【问题讨论】:
我能想到的唯一方法是在构建链中使用像 ProGuard 这样的工具来停止暴露主类之外的所有内容。
【讨论】:
public static void main(java.lang.String[]); 行替换为public *。
不是很优雅,也不是很慢,但是在这些类的构造函数中,您可以检查它们被实例化的类(使用new Exception.getStacktrace()) - 如果由您的类以外的任何东西调用,则限制控制。
【讨论】: