以下是我收到的异常。我正在使用 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。我仍然不知道发生了什么。