我有一个名为X的maven项目和一个名为X-GUI的第二个maven项目。
你可以想象X-GUI依赖于X.在X中我有一个我想重命名的类。我重构它,当然,在两个项目中都正确地重命名了每个引用。
两个项目编译都没有问题,输出jar包含具有新名称的类,但是当我运行X-GUI时它会抛出java.lang.NoClassDefFoundError exception
。
我尝试删除NetBeans缓存,如上所述here,也尝试禁用"编译保存"选项(也在上面的主题中提到)。什么都行不通。当我将类重命名为原始名称时,它可以正常工作。
你有什么建议吗?
答案 0 :(得分:0)
事实证明这个问题与我想要重命名的类是静态的(最终的)并且内部有一个静态块这一事实有关。我将它转换为单身并删除了静态块,问题就消失了。
我想听听有人对为什么会这样做的看法?