我在OpenJDK和Open上测试了不同版本Java上的三台windows机器和两台Linux VPS. Oracle JDK.它完美运行,然后突然之间,它只在我的IDE中工作,虽然我没有改变任何相关的代码,我无法想象是什么导致这一点.
系统中的普遍代码:
Class> cls = (session == null ? secjlcl : session.getJLCL()).loadClass(name);Logger.log(JavaLoader.class.isAssignableFrom(cls) + " - " + cls + " - " + cls.getSuperclass().getname());if (JavaLoader.class.isAssignableFrom(cls)) {
我的ClassLoader:
public class JavaLoaderClassLoader extends urlclassloader {public JavaLoaderClassLoader(URL[] url,ClassLoader parent) { super(url);}private HashMap
一个注意事项,我希望许多类加载器在同一名称/包中加载不同的文件,因此我使用单独的类加载器将它们分开,但是在测试中,未经过测试.
现在,这在过去完美无缺,我不知道为什么它会停止.我会假设我破坏了一些东西,但代码仍在我的IDE中运行?
最佳答案这似乎是你的错误:public JavaLoaderClassLoader(URL[] url,ClassLoader parent) { super(url);}
您不是通过超级构造函数将父级安装为父类加载器. 总结
以上是内存溢出为你收集整理的Java Class.isAssignableFrom始终返回false …仅在IDE外部全部内容,希望文章能够帮你解决Java Class.isAssignableFrom始终返回false …仅在IDE外部所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)