Ant没有加载salesforce任务定义?

Ral*_*way 4 ant bash salesforce

问题

我正在尝试在linux机器上使用Force.com迁移工具(一个自定义的ant库),并且在我的生活中无法弄清楚如何让ant看到该库.我究竟做错了什么?

错误消息

BUILD FAILED
/home/ec2-user/ant/ucp/build.xml:48: Problem: failed to create 
task or type antlib:com.salesforce:retrieve
Cause: The name is undefined.
Run Code Online (Sandbox Code Playgroud)

的背景

我安装了ant使用yum install ant,然后我将Force.com迁移工具(ant-salesforce.jar)放入了/usr/share/ant/lib.我在运行时能够看到这个库ant -diagnostics,但是该库的任务都没有(应该看到部署,检索等).我上传了一个带有完整输出的要点ant -diagnostics.

-------------------------------------------
 ANT_HOME/lib jar listing
-------------------------------------------
ant.home: /usr/share/ant
ant-bootstrap.jar (19837 bytes)
ant-salesforce.jar (3293054 bytes)
ant.jar (1942059 bytes)
ant-launcher.jar (18418 bytes)
Run Code Online (Sandbox Code Playgroud)

经过大量的谷歌搜索和手动阅读后,我尝试了以下无效(注意:以上诊断没有任何以下更改).我知道我错过了一些明显的东西:(

  1. 设置$ ANT_HOME export ANT_HOME=/usr/share/ant
  2. 摆弄权限 chmod +x /usr/share/ant/lib/salesforce-jar
  3. 摆弄团体 chown root:root /usr/share/ant/lib/salesforce-jar
  4. 使用-lib在类中传递 ant -lib /usr/share/ant/lib/salesforce-jar retrieve ...
  5. 使用-lib传入lib文件夹 ant -lib /usr/share/ant/lib retrieve ...
  6. 将$ ANT_HOME添加到$ PATH export PATH=$PATH:$ANT_HOME/bin

smo*_*gae 6

如何保持ant-salesforce.jar/home/ec2-user/ant/ucp,然后改变taskdef看起来像这个元素:

<taskdef resource="com/salesforce/antlib.xml" classpath="ant-salesforce.jar" />
Run Code Online (Sandbox Code Playgroud)

再次运行您的构建,看看事情是否更好.将JAR放在同一文件夹中build.xml可以帮助您消除权限问题.