[英]Run ANT file within the same workspace JRE
我想以編程方式運行ANT文件。 我使用了下面的代碼:
File file = new File("path to file");
Project project = new Project();
project.init();
DefaultLogger logger = new DefaultLogger();
logger.setErrorPrintStream(System.err);
logger.setOutputPrintStream(System.err);
logger.setMessageOutputLevel(Project.MSG_INFO);
project.setProperty("ant.file", file.getAbsolutePath());
project.addBuildListener(logger);
project.fireBuildStarted();
ProjectHelper helper = ProjectHelper.getProjectHelper();
project.addReference("ant.projectHelper", helper);
helper.parse(project, file);
project.executeTarget(project.getDefaultTarget());
但是,當我運行代碼時,出現以下錯誤 :
Problem: failed to create task or type epsilon.emf.register
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.
我幾乎可以肯定會出現此問題,因為正在使用單獨的JRE 。 我需要設置工作區的相同JRE (就像我們在手動運行ANT文件時在環境工具中所做的一樣)。 如何以編程方式更改此選項?
類路徑問題,這是缺少實現第三方ANT任務的jar時拋出的典型錯誤。
檢查您的構建文件,以查找是否使用了名為“ epsilon.emf.register”的任務。
有關此問題的簡要解決方案,請參考此論壇中提供的答案:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.