首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法识别Ant4Eclipse中的工作区in

无法识别Ant4Eclipse中的工作区in
EN

Stack Overflow用户
提问于 2011-06-15 18:39:06
回答 1查看 285关注 0票数 1

这是我的构建文件:

代码语言:javascript
复制
<project name="ant-in-eclipse" basedir="."
         xmlns:ant4eclipse="antlib:org.ant4eclipse"
         xmlns:antcontrib="antlib:net.sf.antcontrib" default="compileAndJar" >

  <taskdef uri="antlib:net.sf.antcontrib"
           resource="net/sf/antcontrib/antlib.xml" />

  <!-- define ant4eclipse tasks -->
  <taskdef uri="antlib:org.ant4eclipse"
           resource="org/ant4eclipse/ant/antlib.xml" />

  <import file="/data/temp/ANT/ANT4/macros/a4e-jdt-macros.xml"/>
  <target name="compileAndJar">
      <macrodef name="build">
          <attribute name="workspaceDirectory" default="deploy" />
          <sequential>
              <echo>Hi</echo>
          </sequential>
      </macrodef>

      <buildJdtProject workspaceDirectory="${workspaceDirectory}"
                       projectname="wfn-common.jar">
      <finish>
          <jar destfile="deploy/wfn-common.jar">
              <ant4eclipse:jdtProjectFileSet destination="."
               projectname="${buildJdtProject.project.name}" />
          </jar>
      </finish>
      </buildJdtProject>
   </target>
</project>

我得到了这个错误

代码语言:javascript
复制
/data/temp/ANT/PTO_Build/WFN_Framework/wfn-common/sample.xml:21: The following error occurred while executing this line:
/data/temp/ANT/ANT4/macros/a4e-jdt-macros.xml:105: ant4eclipse:executeJdtProject doesn't support the "workspaceid" attribute
    at org.apache.tools.ant.RuntimeConfigurable.maybeConfigure(RuntimeConfigurable.java:396)
    at org.apache.tools.ant.RuntimeConfigurable.maybeConfigure(RuntimeConfigurable.java:344)
    at org.apache.tools.ant.Task.maybeConfigure(Task.java:202)
    at org.apache.tools.ant.UnknownElement.configure(UnknownElement.java:196)
    at org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:163)
    at org.apache.tools.ant.Task.perform(Task.java:347)
    at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
    at java.lang.reflect.Method.invoke(Method.java:600)
    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:398)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
    at java.lang.reflect.Method.invoke(Method.java:600)
    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:390)
    at org.apache.tools.ant.Target.performTasks(Target.java:411)
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
    at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
    at org.apache.tools.ant.Main.runBuild(Main.java:809)
    at org.apache.tools.ant.Main.startAnt(Main.java:217)
    at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
    at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Caused by: ant4eclipse:executeJdtProject doesn't support the "workspaceid" attribute.
    at org.ant4eclipse.ant.jdt.containerargs.JdtClasspathContainerArgumentDelegate.setDynamicAttribute(JdtClasspathContainerArgumentDelegate.java:70)
    at org.ant4eclipse.ant.jdt.AbstractExecuteJdtProjectTask.setDynamicAttribute(AbstractExecuteJdtProjectTask.java:63)
    at org.apache.tools.ant.IntrospectionHelper.setAttribute(IntrospectionHelper.java:394)
    at org.apache.tools.ant.RuntimeConfigurable.maybeConfigure(RuntimeConfigurable.java:388)
    ... 31 more

有谁能帮帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2011-06-15 19:26:40

错误在您导入的文件中:

<导入file="/data/temp/ANT/ANT4/macros/a4e-jdt-macros.xml"/>

我猜您的buildJDTProject目标是在那里定义的,并且它的定义方式有一个错误。

  • 查看第105行文件/data/temp/ANT/ANT4/macros/a4e-jdt-macros.xml
  • Look,这就是您的构建

失败的地方

我猜它会是buildJDTProject的目标。我猜目标包含workspaceid属性,这似乎是非法的。

您可以删除该属性,或者弄清楚为什么要将其放在第一位。也许它适用于不同版本的ant jdt库?

还有两个猜测(我对ant4eclipse BTW不熟悉)。关于ant4eclipse的buildJdtProject任务...

这份文件说

必须指定'workspaceDirectory‘或'workspaceId’

您将在构建脚本的目标中传递workspaceDirectory。可能默认情况下在该导入文件的宏中指定了workspaceId。如果是这样的话,也许你最终同时定义了workspaceDirectoryworkspaceId,这是非法的。然而,这个想法与您得到的错误消息不匹配。

或者,也许ant4eclipse对属性名称区分大小写。这对于Ant来说并不常见,它通常是不区分大小写的。但是ant4eclipse文档给出的属性名为workspaceId,您的错误消息显示workspaceid不受支持。因此,可以尝试更改导入文件中的大小写。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6356427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档