下面是我用来编译一个已经存在的java文件的方法,参考的(http://blog.csdn.net/onlyzhangqin/archive/2008/05/25/2480590.aspx)
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
// 建立DiagnosticCollector对象
DiagnosticCollector<JavaFileObject> diagnostics = new DiagnosticCollector<JavaFileObject>();
StandardJavaFileManager fileManager = compiler
.getStandardFileManager(diagnostics, null, null);
// java名称
String path1 = "hello.java";
Iterable<? extends JavaFileObject> compilationUnits = fileManager.getJavaFileObjectsFromStrings(Arrays.asList(path1)); JavaCompiler.CompilationTask task = compiler.getTask(null,fileManager, diagnostics, null, null, compilationUnits);
// 编译源程序
boolean success = task.call(); 我的要编译的java代码是: import java.io.PrintWriter; public class hello
extends AbstractPackedModel { public void process(PrintWriter writer) throws Exception{
system.out.println("success");
}
}
AbstractPackedModel 类是同目录下的一个类 现在的问题是,我已经编译了AbstractPackedModel(用命令编译) ,然后用上面的方法编译hello.java,报找不到AbstractPackedModel,但是我在命令行编译hello.java却可以通过。不知道是为什么。望指点!谢谢!
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
// 建立DiagnosticCollector对象
DiagnosticCollector<JavaFileObject> diagnostics = new DiagnosticCollector<JavaFileObject>();
StandardJavaFileManager fileManager = compiler
.getStandardFileManager(diagnostics, null, null);
// java名称
String path1 = "hello.java";
Iterable<? extends JavaFileObject> compilationUnits = fileManager.getJavaFileObjectsFromStrings(Arrays.asList(path1)); JavaCompiler.CompilationTask task = compiler.getTask(null,fileManager, diagnostics, null, null, compilationUnits);
// 编译源程序
boolean success = task.call(); 我的要编译的java代码是: import java.io.PrintWriter; public class hello
extends AbstractPackedModel { public void process(PrintWriter writer) throws Exception{
system.out.println("success");
}
}
AbstractPackedModel 类是同目录下的一个类 现在的问题是,我已经编译了AbstractPackedModel(用命令编译) ,然后用上面的方法编译hello.java,报找不到AbstractPackedModel,但是我在命令行编译hello.java却可以通过。不知道是为什么。望指点!谢谢!
解决方案 »
- JLabel随键盘上下左右移动
- java swing新手请教sort buttons控件的写法,大神帮忙啊~
- org.eclipse.jface.text cannot be resolved
- 请大家帮忙一下,装了jdk了,还要装其他软件才可以开发程序吗
- 发布jtotem2.0图形工具
- 嵌在网页中的日历控件该如何写
- java中有没有把二进制转化成十进制的API?
- 【关键字overload跟override)何时用】我把重载, 覆盖的做了两个例子,发现根本没用这两个关键字
- eclipse的问题
- java 与c++用socket通讯的问题??字符串不能接收到??急啊!
- tostring和tolocalestring方法的区别?
- 求教!!求教!!求教!!求教!!求教!!
Message: 错误:仅当显式请求注释处理时才接受类名称“AbstractPackedModel”