小弟初学,在做一个小项目,遇到了一些问题,简单说描述如下:
在一个文本框中输入一个类的代码,保存为test.java,通过com.sun.tools.javac.Main.compile(source);将其编译为test.class,保存在项目文件夹中
现在想用 Class.forName(test);实例化一个test的对象,可抛出java.lang.ClassNotFoundException,这个应该怎么解决?谢谢大家
在一个文本框中输入一个类的代码,保存为test.java,通过com.sun.tools.javac.Main.compile(source);将其编译为test.class,保存在项目文件夹中
现在想用 Class.forName(test);实例化一个test的对象,可抛出java.lang.ClassNotFoundException,这个应该怎么解决?谢谢大家
解决方案 »
- 如何设置JVM默认下启动都是使用-Xss16m ,(linux仲裁系统下)
- 用java写一个socket 程序来抓取某个url的内容并且将url内容保存到本地
- java菜鸟求助,关于判断输入是否非空
- 帮我分析一下以下的语句大概的意思
- 主题:用log4j实现servlet 每个收发请求保存为单独的日志文件。
- 有谁尝试过使用jmf播放rm格式文件成功?
- 错在那里!
- 替换字符串中的一段字符串.效率高的谁有?
- 通过IP获取局域网内手机的NetworkInterface时总返回null
- 如何在JTEXTFIELD中显示时间
- (Java)不使用其他的开源包,只适用JDK能解析XML吗?
- 如何转换图片颜色空间?
有没有吧 "." 作为classpath的一部分?
String filePath = ".";
new File(className+".class").delete();
String[] source = { "-d", filePath, new String(className+".java") };
return com.sun.tools.javac.Main.compile(source);
}
因为是在启动后才编译的.
试试编译后在load这个class.
使用Class.forName之前先看下你项目文件夹的相对应的路径中有没有test.class
开发工具用的netbeans6.5
没有的话,加一个试试!
调试 执行到
Class.forName(test);看看test的值是不是正确的包名类名
比如在src文件目录中调用;
我的classpath包括.; 用netbeans做的,把编译出来的类文件放在项目的根目录底下ClassLoader找不到,放在项目名/src目录下就能找到,是说classpath这个.代表的当前目录指的是src这个源包的路径么?