0

在我们的组织中,我们有几个微服务和许多库。

一些库定义了不用于公共使用的“公共”类 - 仅在多个包中的库内部(因此不能是包私有的)

我想添加一些类似于 Kotlin 的“内部”修饰符的东西——一个检查样式规则/注释处理器/测试组件,用于验证消费者应用程序不导入这些类。

例如,我会将它们标记为 @ForInternalUsageOnly 或放入包 com.ourorg.mylib.internal_usage

什么可以是非复制粘贴(例如 jar 或 gradle 任务)实现来验证这些类没有被导入?最好 - 在编译级别

4

1 回答 1

1

听起来您应该使用 Java 9+module功能,并且它能够指定在给定模块之外公开哪些类。

以下是一些帮助您入门的参考资料:

并且有很多教程和视频。


虽然应该可以使用注释和检查器来执行您建议的操作,但我不能推荐任何实际示例。

于 2022-01-12T13:42:21.860 回答