ANT CompileJava

package org.apache.easframework.common; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.PrintStream; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.DefaultLogger; import org.apache.tools.ant.Project; import org.apache.tools.ant.ProjectHelper; public class CompileJava { public static synchronized boolean compile(String buildFilePath, String logFilePath) { File buildFile = new File(buildFilePath); Project project = new Project(); DefaultLogger consoleLogger = new DefaultLogger(); try { FileOutputStream fs = new FileOutputStream(logFilePath); PrintStream ps = new PrintStream(fs); consoleLogger.setErrorPrintStream(ps); consoleLogger.setOutputPrintStream(ps); } catch (FileNotFoundException e1) { e1.printStackTrace(); } consoleLogger.setMessageOutputLevel(Project.MSG_INFO); project.addBuildListener(consoleLogger); try { project.fireBuildStarted(); project.init(); ProjectHelper helper = ProjectHelper.getProjectHelper(); helper.parse(project, buildFile); System.out.println("默认target:"); System.out.println(project.getDefaultTarget()); //默认的target是help project.executeTarget("all"); //调用的task是all project.fireBuildFinished(null); return true; } catch (BuildException e) { project.fireBuildFinished(e); return false; } } public static String startCompile(String buildFile,String logFile) { if(CompileJava.compile(buildFile, logFile)) { return "编译成功!"; } else { return "编译失败!"; } } /** * @param args */ public static void main(String[] args) { System.out.println("开始编译..."); boolean b = CompileJava.compile("D:/easdev/build/userbuild.xml", "D:/easdev/build/userbuild.log"); if(b) { System.out.println("编译成功!"); } else { System.out.println("编译失败!"); } System.out.println("结束编译..."); } }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值