2015-06-14 95 views
2

我试图浏览所有使用自定义库文件Reflections实现了一个接口的类。下面是我的源:Java Reflections'NoClassDef'错误

public static List<IModdable> getAllModClasses() { 
    Reflections reflections = new Reflections("mod.api.core"); //getting error here 
    Set<Class<? extends IModdable>> classes = reflections.getSubTypesOf(IModdable.class); 
    List<IModdable> modList = new ArrayList<IModdable>(); 
    for (Class<? extends IModdable> c : classes) 
     try { 
      modList.add((IModdable) c.newInstance()); 
     } catch (Exception ex) { 
      err(String.format("Could not load mod %s !", c.getName())); 
     } 


    return modList; 
} 

错误:

Exception in thread "Client thread" java.lang.NoClassDefFoundError: javassist/bytecode/ClassFile 
    at org.reflections.adapters.JavassistAdapter.getOfCreateClassObject(JavassistAdapter.java:100) 
    at org.reflections.adapters.JavassistAdapter.getOfCreateClassObject(JavassistAdapter.java:24) 
    at org.reflections.scanners.AbstractScanner.scan(AbstractScanner.java:30) 
    at org.reflections.Reflections.scan(Reflections.java:238) 
    at org.reflections.Reflections.scan(Reflections.java:204) 
    at org.reflections.Reflections.<init>(Reflections.java:129) 
    at org.reflections.Reflections.<init>(Reflections.java:170) 
    at org.reflections.Reflections.<init>(Reflections.java:143) 
    at mod.api.core.CoreProvider.getAllModClasses(CoreProvider.java:17) 
    at mod.api.core.ModCore.onLoad(ModCore.java:13) 
    at net.minecraft.client.Minecraft.run(Minecraft.java:405) 
    at net.minecraft.client.main.Main.main(Main.java:114) 
    at Start.main(Start.java:11) 
Caused by: java.lang.ClassNotFoundException: javassist.bytecode.ClassFile 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    ... 13 more 

的mod.api.core包退出。所以这不应该是错误。

+0

看起来你缺少[javassist-3.12.1.GA解决问题。 jar](http://jboss-javassist.github.io/javassist/).. –

+1

工作!回答它给你打勾 –

回答

3

java.lang.NoClassDefFoundError:Javassist是/字节码/ ClassFile的

您可以通过添加javassist-3.12.1.GA.jar到classpath