Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有公共包/类,它们不应该是公共 API 的一部分。但是我想我不能制作一个新的 API-maven 包,因为核心项目也使用公共 API。
这应该是一个常见的情况,但我认为这是一个不允许细粒度访问的 Java 问题。
您对如何“保护”不访问不应属于公共 API 的公共类有任何提示吗?然而,这似乎是大多数开发人员没有考虑过或至少没有做任何事情来保护这些类不被外部访问的常见情况。
通常,不应访问的类被放入另一个名为“internal”的包中。所以你会有com.company.application用于 api 类,而com.company.application.internal用于实现类。但是没有强制执行。在 OSGI 模型中,对于从包中导出哪些包有更细粒度的控制,但在纯 Java 中则不然。