1

我创建了一个名为“antt”的项目,以使用来自 Eclipse 的迁移工具来测试 ant。我在eclipse中创建了java项目并尝试从那里运行“test”。

build.xml 中的“测试”:

 <!-- Test out deploy and retrieve verbs for package 'mypkg' -->
    <target name="test">
      <!-- Upload the contents of the "mypkg" package -->
      <sf:deploy username="${sf.username}" password="${sf.password}" sessionId="${sf.sessionId}" serverurl="${sf.serverurl}" maxPoll="${sf.maxPoll}" deployRoot="mypkg" rollbackOnError="true"/>
      <mkdir dir="retrieveOutput"/>
      <!-- Retrieve the contents into another directory -->
      <sf:retrieve username="${sf.username}" password="${sf.password}" sessionId="${sf.sessionId}" serverurl="${sf.serverurl}" maxPoll="${sf.maxPoll}" retrieveTarget="unpackaged" packageNames="MyPkg"/>
    </target>

错误:

Buildfile: C:\SF\workspacenew\antt\build.xml test:

BUILD FAILED C:\SF\workspacenew\antt\build.xml:19: Problem: failed to create task or type antlib:com.salesforce:deploy 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. No types or tasks have been defined in this namespace yet

This appears to be an antlib declaration.  Action: Check that the implementing library exists in one of:
        -C:\eclipse\plugins\org.apache.ant_1.8.4.v201303080030\lib
        -C:\Users\User\.ant\lib
        -a directory added on the command line with the -lib argument


Total time: 560 milliseconds
4

1 回答 1

0

参考我这里的回答,

  1. 在项目的根目录中创建一个 lib 目录,并将 maven-ant-tasks.jar 文件放入其中。
  2. 将导入语句包含在您的build.xml

    <path id="maven-ant-tasks.classpath" path="lib/maven-ant-tasks-2.1.3.jar" />
    <typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="antlib:org.apache.maven.artifact.ant" classpathref="maven-ant-tasks.classpath" />
    

希望这可以帮助。

于 2016-01-10T07:16:57.407 回答