AntBuilder@Eclipse

Eclipse plug-in中调用ant

AntBuilder.java

public class AntBuilder {

 private Map psMap=new HashMap();
 
 
 public void setProperty(String key,String value){
  psMap.put(key, value);
 }
 
 public boolean build(String buildFilePath,String baseDir) {
  return build(buildFilePath, baseDir,null);
 }

 public boolean build(String buildFilePath,String baseDir, String taskName) {
  File buildFile = new File(buildFilePath);  
  Project project = new Project();
  MessageConsole c=Logger.getLogger().getConsole();
  DefaultLogger consoleLogger = new DefaultLogger();
  IOConsoleOutputStream errOs=c.newOutputStream();
  errOs.setColor(ColorConstants.red);
  IOConsoleOutputStream outOs=c.newOutputStream();
  outOs.setColor(ColorConstants.blue);  
  consoleLogger.setErrorPrintStream(new PrintStream(errOs));
  consoleLogger.setOutputPrintStream(new PrintStream(outOs));

  consoleLogger.setMessageOutputLevel(Project.MSG_INFO);
  project.addBuildListener(consoleLogger);
  for(Iterator iter=psMap.keySet().iterator();iter.hasNext();){
   String key=(String)iter.next();
   project.setProperty(key, (String)psMap.get(key)); 
  }
  project.setBasedir(baseDir);
  try {   
   project.fireBuildStarted();
   project.init();
   ProjectHelper helper = ProjectHelper.getProjectHelper();
   helper.parse(project, buildFile);
   
   if (taskName == null) {
    taskName = project.getDefaultTarget();
   }
   project.executeTarget(taskName);
   project.fireBuildFinished(null);
   return true;
  } catch (Exception e) {
   project.fireBuildFinished(e);
   return false;
  }
 }
}

builder.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="bibench_builder" default="build_war" basedir="."> 
 <property name="war.src" value="" />
 <property name="war.dest" value="bibench.war" />
 
 <target name="init">
  <delete file="${war.dest}"/>
 </target>
  
 <target name="build_war" depends="init">
  <war warfile="${war.dest}" webxml="${war.src}/WEB-INF/web.xml">
   <!--
   <lib dir="${war.src}/WEB-INF/lib"/>   
   <classes dir = "${war.src}/WEB-INF/classes"/>
   -->   
   <fileset dir="${war.src}">
    <include name="**/*"/>
    <exclude name="*.war"/>
    <exclude name=".*"/>
   </fileset>
  </war>
 </target>
</project>
Run

init:
   [delete] Deleting: D:/Eclipse3.2/runtime-EclipseApplication/for_build/bibench.war

build_war:
      [war] Building war: D:/Eclipse3.2/runtime-EclipseApplication/for_build/bibench.war
      [war] Warning: selected war files include a WEB-INF/web.xml which will be ignored (please use webxml attribute to war task)

BUILD SUCCESSFUL
Total time: 0 seconds

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值