环境变量和文件扩展名都没问题,路径配置也没问题,,到底怎么回事啊。。。下面是代码
String classpath = this.getClass().getResource("").getPath();
File file;
// 创建文件路径
file = new File(classpath.substring(1, classpath.length() - 13) + "\\"
+ testName + ".java");
// 当虚拟机退出时,删除此临时java源文件
file.deleteOnExit();
// 获取文件路径名
String fileName = file.getName();
String className = getClassName(fileName);
// 创建输出流对象
FileOutputStream fout = new FileOutputStream(file);
byte b[] = classInfo.getBytes();
// 写入数据
fout.write(b);
// 关闭流
fout.flush();
fout.close();
// 创建JDK中对应编译类
//com.sun.tools.javac.Main javac = new com.sun.tools.javac.Main();
String args[] = { "-d",
classpath.substring(1, classpath.length() - 13), fileName };
System.out.println(file);
System.out.println(classpath.substring(1, classpath.length() - 13)+"\\"+testName+".java");
// 调用方法对所属程序进行编译
int status = Main.compile(args);
System.out.println(status);
Main.compile(args);动态加载java代码、、却找不到类,,
答案:2 悬赏:20 手机版
解决时间 2021-03-21 19:50
- 提问者网友:沉默菋噵
- 2021-03-21 10:55
最佳答案
- 五星知识达人网友:末日狂欢
- 2019-10-11 14:22
报错了还是什么?
全部回答
- 1楼网友:不甚了了
- 2019-06-27 04:44
第一个:args[]是参数数组。main函数都会有这个参数,意思是当你从控制台输入数据的时候,就通过这个args参数来获取。如果你输入一个值,那么args的长度就是1.如果希望长度超过1,那在控制台输入的时候就输入多个值,用空格隔开。
第二个:意思是:如果参数数组的长度是大于0的(也就是说有输入)就把第一个参数赋值给host对象。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯