2016-05-14 44 views
0

我有一個查詢 - 我有一個單獨的xml文件,名爲abc.xml這是一個xml文件,其中包含ant任務。現在我可以通過eclipse從螞蟻角度執行該文件,這是我可以執行的不同任務,但現在我計劃的是從java類本身執行該xml,並從該java類中的主要方法執行那個abc.xml ?請指教,是否有可能通過自身來調用Ant腳本文件,它是在一個XML文件的形式從Java類本身調用ant腳本文件

我也經歷run ant manually

我已經單獨的任務命名爲初始化在abc.xml文件

我在一邊嘗試Java類的主要方法是

File buildFile = new File("abc.xml"); 
      Project p = new Project(); 
      p.setUserProperty("ant.file", buildFile.getAbsolutePath()); 
      p.init(); 
      ProjectHelper helper = ProjectHelper.getProjectHelper(); 
      p.addReference("ant.projectHelper", helper); 
      helper.parse(p, buildFile); 
      p.executeTarget(p.getDefaultTarget()); 

但我得到的錯誤是..

Exception in init: org/apache/tools/ant/launch/Locator 
    at org.apache.tools.ant.util.FileUtils.fromURI(FileUtils.java:1261) 
    at org.apache.tools.ant.Location.<init>(Location.java:87) 
    at org.apache.tools.ant.Location.<init>(Location.java:70) 
    at org.apache.tools.ant.helper.ProjectHelper2$ProjectHandler.onStartElement(ProjectHelper2.java:611) 
    at org.apache.tools.ant.helper.ProjectHelper2$RootHandler.startElement(ProjectHelper2.java:465) 
+0

這是完整的堆棧跟蹤? – Sanjeev

+0

是的,它是完整的堆棧跟蹤 –

+0

什麼是ant.jar和螞蟻發射罐的版本? – Sanjeev

回答

0

org.apache.tools.ant.launch.Locator可以在ant-launcher.jar找到。請檢查您的porgram的CLASSPATH並確保ant-launcher.jar和其他所需的罐子可用。