"未找到宏:_after_build"使用IntelliJ IDEA构建hybris的Ant错误

时间:2015-10-12 09:23:48

标签: intellij-idea ant hybris

我试图让内部蚂蚁工具与hybris电子商务套件一起使用。 当我从控制台调用ant时,它运行正常。

使用IntelliJ提供的Ant工具,在调用" all"时会收到以下错误消息:目标:

F:\pathtohybrisinstall\bin\platform\resources\ant\util.xml:130: macro not found: _after_build
at de.hybris.ant.taskdefs.CallMacro.execute(CallMacro.java:58)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
at sun.reflect.GeneratedMethodAccessor80.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at net.sf.antcontrib.logic.TryCatchTask.execute(TryCatchTask.java:207)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:396)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:435)
at org.apache.tools.ant.Target.performTasks(Target.java:456)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
at org.apache.tools.ant.Main.runBuild(Main.java:851)
at org.apache.tools.ant.Main.startAnt(Main.java:235)
at org.apache.tools.ant.Main.start(Main.java:198)
at org.apache.tools.ant.Main.main(Main.java:286)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.intellij.rt.ant.execution.AntMain2.main(AntMain2.java:30)

3 个答案:

答案 0 :(得分:1)

由于来自IntelliJ IDEA Help center的描述,Ant集成随IntelliJ IDEA一起提供,这意味着您通过控制台运行的Ant与IDE使用的Ant不同。

因此异常可能是由版本不兼容引起的。您可以在执行选项卡上的构建文件属性中更改IDE使用的Ant分配。只需提供您在控制台中使用的Ant分发。

答案 1 :(得分:1)

根据您后续的评论,我想是没有正确设置extname参数。

您是否只是从IDE调用ant build?我将看一下用于Eclipse集成的codegen.xml。在调用gensource之前导入了一些设置。其中之一是导入包含trycatch目标的contrib库,该目标可以防止您在那里看到的错误。也许这是相关的,但我不确定。

基本上,我们默认支持Eclipse。

答案 2 :(得分:0)

intellij IDEA不支持在hybris构建中使用的ant-contrib try / catch块。 intellij 2017.2中有多个修复蚂蚁。 当您使用Hybris Integration插件导入hybris项目时,它会为您设置所有与蚂蚁相关的设置。

您可以通过点击"浏览存储库"直接从repository将其安装到IDE中。 “设置/插件”对话框中的按钮。