为啥我load到内存到时候会报找不到class文件
// load到内存中 ClassLoader cl = ClassLoader.getSystemClassLoader();
Class c = cl.loadClass("com.design.proxy.$Proxy0");
换成其他的class文件就没问题
// load到内存中 ClassLoader cl = ClassLoader.getSystemClassLoader();
Class c = cl.loadClass("com.design.proxy.$Proxy0");
换成其他的class文件就没问题
2018-04-24
问题已解决:
1、在生成java文件的时候,java文件路径不正确;
我写的是:
String filename = System.getProperty("user.dir")+"/com/design/proxy/$Proxy0.java";
但是我的编译器正式输出路径为:
String filename = System.getProperty("user.dir")+"/target/classes/com/design/proxy/$Proxy0.java";
总结:
需要确认Tomcat启动时查找class的路径是否和上面java文件的路径一致,因为编译java文件的class文件也会在此处,所以编译后的class不在Tomcat查找的位置则会报ClassNotFoundException;
举报