Java 警告/禁止特定包中的方法

Java warn / disallow method in specific package

我围绕 Log.i 创建了一个包装器。

public class MyLog {
  public static int i(String tag, String message) {
    //Do Stuff
    return Log.i(tag, message);
  }
}

现在我希望我所有的消费者 com.myapp.package1com.myapp.package2 等使用 MyLog.i 而不是 Log.i。目前,我们只是通过约定和文档来强制执行此操作。是否有更积极的编程方式来阻止或禁止开发人员从某些包中调用 Log.i

不在语言本身之内。这是由您的构建系统或您的源代码控制系统更好地完成的事情。一个 lint 规则可以工作,你的构建系统设置为错误输出或你的源代码控制设置为拒绝不符合规则的差异。