public static void main(String[] args) throws UnsupportedEncodingException {
String path=System.getProperty("user.dir") + File.separator + "configsdd"+File.separator;
System.out.println(path);
compileFile(path,"abcdd.java");
}
public static int compileFile(String path, String fileName) {
System.out.println(path);
String[] test = new String[] { "-d", path, fileName };
System.out.println(test.toString());
int status = Main.compile(test);
return status;
}第一次编译的时候我用的是a.java名字(貌似是这样的),我再改名字的话(如:abcdd.java)就提示找不到abcdd.java文件。只有a.java行。求高手解决。
String path=System.getProperty("user.dir") + File.separator + "configsdd"+File.separator;
System.out.println(path);
compileFile(path,"abcdd.java");
}
public static int compileFile(String path, String fileName) {
System.out.println(path);
String[] test = new String[] { "-d", path, fileName };
System.out.println(test.toString());
int status = Main.compile(test);
return status;
}第一次编译的时候我用的是a.java名字(貌似是这样的),我再改名字的话(如:abcdd.java)就提示找不到abcdd.java文件。只有a.java行。求高手解决。
在这里,我把我所理解的简单写一下。
JVM的编译机制是先找到.java 这个文件进行编译成.class 二进制文件,然后进行连接,初始化。
楼主没有找到.java 这个文件 ,有几个原因:首先检查系统加载器加载的路径是否正确,也就是在你的路径下面有没有这个Java文件。其次如果路径对了,文件名也对了,看看Java文件里面,所对应的公共类名是不是正确。如果都没有问题,建议楼主检查检查自己的代码 是不是有问题。
=======================================================F:\workspace\test\configsdd\
F:\workspace\test\configsdd\
[Ljava.lang.String;@de6ced
javac: 找不到文件: abcdd.java
用法: javac <options> <source files>
-help 用于列出可能的选项
--------------------------------------------------------------------
F:\workspace\test\configsdd\
F:\workspace\test\configsdd\
[Ljava.lang.String;@de6ced
a.java:5: 找不到符号
符号: 类 IProcessData
位置: 软件包 dttool.expansion
import dttool.expansion.IProcessData;
^
a.java:7: 找不到符号
符号: 类 IProcessData
class ProcessData implements IProcessData{
^
2 错误如果改变a.java的内容,结果还是上面这些
public static void main(String[] args){
System.out.println("Hello AA");
}
}