簡體   English   中英

在同一工作空間JRE中運行ANT文件

[英]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”的任務。

有關此問題的簡要解決方案,請參考此論壇中提供的答案:

以編程方式運行帶有Epsilon任務的ANT文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM