2

以下是我收到的异常。我正在使用 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 版

*****编辑*****

我可以通过在 Netbeans 中重命名问题包(“helix”>>“HelixMain”)来解决这个问题。我把它改成了另一个名字。这导致了大量的错误。我认为 Netbeans 中存在一些问题,因为重构应该调整了所有受影响但没有受影响的导入。一旦我再次修复了所有导入,它工作得非常好。上帝就是这么烦人。

希望这可以帮助其他人在未来通过这种奇怪的解决方法使用 netbeans。我仍然不知道发生了什么。

4

0 回答 0