Could not initialize class的场景
错误的使用ClassLoader:
- <pre name="code" class="java"> ClassPath classPath = new ClassPath(i.getProject());
- StudioClassLoader loader = new StudioClassLoader(classPath.getURLs());
- Thread.currentThread().setContextClassLoader(loader);
上面的用法会导致非本工程的类加载失败,抛java.lang.NoClassDefFoundError: Could not initialize class...
正确的用法:
- ClassPath classPath = new ClassPath(i.getProject());
- StudioClassLoader loader = new StudioClassLoader(classPath.getURLs(),Thread.currentThread().getContextClassLoader());
- Thread.currentThread().setContextClassLoader(loader);