我创建了名为"ant "的项目,用eclipse中的迁移工具测试ant。我在eclipse中创建了java项目,并尝试从那里运行"测试"。
"test" in 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:SFworkspacenewanttbuild.xml test:
BUILD FAILED C:SFworkspacenewanttbuild.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:eclipsepluginsorg.apache.ant_1.8.4.v201303080030lib
-C:UsersUser.antlib
-a directory added on the command line with the -lib argument
Total time: 560 milliseconds
参考我的答案,
- 在项目的根目录下创建一个lib目录,并将maven-ant-tasks.jar文件放入其中。
在
中包含import语句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" />