NoClassDefFoundError错误的名称消息引用旧包名称

时间:2017-01-22 21:01:57

标签: java netbeans-8.1

以下是我收到的例外情况。我正在使用netbeans IDE。没有显示错误,它引用了错误的名称。我不知道在哪里解决这个问题。它说“Helix / CodedInstance”,但包应该是“helix / CodedInstance”,因为这是我的包的名称。我正在组织我的应用程序移动包,我在netbeans中遇到了一个非常大的错误,它在我身上呕吐了500个错误窗口。我现在似乎无法回到原来的位置。幸运的是,我在Git中拥有一切,而且我最近一直致力于推动。我已经检查了远程存储库,但我仍然遇到很多错误,这很奇怪,但我正在努力推进。我已经删除了IDE中的所有错误,但是当我尝试运行测试文件时,我得到以下异常。

Exception in thread "main" java.lang.NoClassDefFoundError: helix/CodedInstance (wrong name: Helix/CodedInstance)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at helix.CodedClasses.Registers.TypeRegister.initialTypeLoad(TypeRegister.java:41)
    at helix.HelixTesting.main(HelixTesting.java:31)
/Users/Mark/Library/Caches/NetBeans/8.1/executor-snippets/run.xml:53: Java returned: 1
BUILD FAILED (total time: 2 seconds)

我不确定您到底需要看到什么,所以我发布了底部引用的类TypeRegister

package helix.CodedClasses.Registers;

import Key.Key;
import helix.CodedClasses.GUI.ApplicationScope;
import helix.CodedClasses.Internal.HType;
import helix.CodedClasses.General.Values.*;

/**
 *
 * @author Mark
 */
public class TypeRegister extends AbstractRegister<HType>{


private static TypeRegister myRegister;

private TypeRegister(){

}

public static TypeRegister getReg(){
    if(myRegister==null)
        myRegister=new TypeRegister();
    return myRegister;
}

@Override
public Key getKey(HType value) {
    return value.getKey();
}

@Override
public String getName(HType value) {
    return value.getName();
}

public static void initialTypeLoad(){
    TypeRegister.getReg().register(HValue.classType());
    TypeRegister.getReg().register(HAtomValue.classType());
    TypeRegister.getReg().register(HNumeric.classType());
    TypeRegister.getReg().register(HReal.classType());
    TypeRegister.getReg().register(HNumber.classType());
    TypeRegister.getReg().register(HBoolean.classType());
    TypeRegister.getReg().register(HString.classType());
    TypeRegister.getReg().register(HType.classType());
    TypeRegister.getReg().register(ApplicationScope.classType());
    ApplicationScope a = ApplicationScope.getInstance();
}
}

因为我昨晚提交的一切都很好,我认为它与我的IDE有关,但我在网上找不到如何解决netbeans中的类似问题。我使用的是8.1版

***** EDIT *****

我能够通过在Netbeans中重命名问题包(“helix”&gt;&gt;“HelixMain”)来解决这个问题。我把它换成了另一个名字。这导致了大量的错误。我假设Netbeans存在一些问题,因为重构应该已经调整了所有受影响的导入但没有。一旦我再次修复了所有的进口,它就完美地完成了。上帝很烦人。

希望这可以帮助其他人在将来使用netbeans这个奇怪的解决方法。我还是不知道发生了什么。

0 个答案:

没有答案