不能加载salesforce任务定义



问题

我正试图在linux上使用Force.com迁移工具(一个自定义的蚂蚁库),但我一辈子都不知道如何让蚂蚁看到这个库。我做错了什么?

错误信息

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.
背景

我使用yum install ant安装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)

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

    设置$ANT_HOME export ANT_HOME=/usr/share/ant
  1. 修改权限chmod +x /usr/share/ant/lib/salesforce-jar
  2. 摆弄群组chown root:root /usr/share/ant/lib/salesforce-jar
  3. 使用-lib ant -lib /usr/share/ant/lib/salesforce-jar retrieve ...传入类
  4. 通过-lib ant -lib /usr/share/ant/lib retrieve ...传入lib文件夹
  5. $ANT_HOME添加到$PATH export PATH=$PATH:$ANT_HOME/bin

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

<taskdef resource="com/salesforce/antlib.xml" classpath="ant-salesforce.jar" />

再次运行构建,看看情况是否有所好转。将JAR放在与build.xml相同的文件夹中可以帮助您消除权限问题。

根据@smooth_reggae的回答,可以在将ant-salesforce.jar保存在默认ant lib目录下的情况下使事情正常工作。看起来这应该已经发生了,但是,哦,好吧。

<taskdef resource="com/salesforce/antlib.xml"
    classPath="${ant.library.dir}/ant-salesforce.jar"
    uri="antlib:com.salesforce"/>

最新更新