我正在使用 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
}
}
我可以在我当前的项目中很好地使用这个类。但是,当我构建、打包和安装到本地存储库时(使用 Maven,没有设置远程工件存储库),其他项目无法正确使用此类,因为它们无法实例化它。当我尝试类似的事情时:
ClassA classA = new ClassA();
我收到以下编译错误:
ClassA() has private access in [package].ClassA
我已经在我的本地 repo 中反编译了 .jar 以确保构造函数存在并且是公共的 - 它是。我还使用了 -U 标志来强制更新并且编译继续失败。什么可能导致此错误?