"构造函数具有私有访问权限"错误消息

jos*_*ain 6 java constructor maven

我在Java工作,遇到了一个非常奇怪的错误.我有一个非常基本的课程如下:

public class ClassA{
   private static Logger log = Logger.getLogger(ClassA.class.getName());
   private boolean trace;

   public ClassA(){
      trace = log.isTraceEnabled();
   }

   public void doSomething(){
      //does stuff
   }
}
Run Code Online (Sandbox Code Playgroud)

我可以在我当前的项目中使用这个类.但是,当我构建,打包和安装到我的本地仓库(使用Maven,没有设置远程工件仓库)时,其他项目无法正确使用此类,因为它们无法实例化它.当我尝试以下任何事情时:

ClassA classA = new ClassA();
Run Code Online (Sandbox Code Playgroud)

我收到以下编译错误:

ClassA() has private access in [package].ClassA
Run Code Online (Sandbox Code Playgroud)

我已经在我的本地仓库中反编译了.jar以确保构造函数存在且是公共的 - 它是.我还使用-U标志强制更新,编译继续失败.可能导致此错误的原因是什么?

Pin*_*ino 4

也许您在类路径中的某个位置还有其他一些 ClassA.class 文件。检查项目使用的所有无法调用构造函数的 jar:其中之一应该包含类的旧版本。