2013-05-04 66 views
4

Ant未加载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安装蚂蚁,然后我放弃了Force.com迁移工具(ANT-salesforce.jar)插入/usr/share/ant/lib背景。当我运行ant -diagnostics时,我能够看到这个库,但该库的任何任务(应该看到部署,检索等)。我已经上传了一张gist,其中全部输出来自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) 

经过大量使用Google的和手动读取我尝试以下无济于事(NB:上述诊断是没有任何的以下变化)。我知道我失去了一些东西明显:(

  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

回答

6

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

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

再次运行构建,看看事情看起来更好。将JAR放在与build.xml相同的文件夹中将有助于消除权限问题。

+0

Saweet !!谢谢你的提示。这工作。有没有任何参考文献可以帮助理解所有可以避免这种情况的权限?我不知道类是如何在蚂蚁类路径中显示出来的,但从来没有加载它的任务。 – 2013-05-05 00:26:23

+0

正在执行这些任务的原因将被CI工具的某些系统进程使用。我肯定会把这个备份恢复......( – 2013-05-05 00:40:14

+0

)运行'ant -verbose'可能会让你更深入了解什么可能是错误的。也就是说,要了解更多信息可能非常困难了解JVM与底层文件系统交互时的异常原因,因为JVM通常可以隐藏更精细的细节,并且只给出'java.io'下的异常的堆栈跟踪。 – 2013-05-05 13:10:33

4

基于@smooth_reggae's answer能够在ant-salesforce.jar保留在默认ant lib目录中的情况下正常工作。似乎应该已经发生,但是哦,好吧。

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

真棒,这对我来说更有意义,然后把它放在蚂蚁主目录中,谢谢! – Curt 2014-08-28 13:41:17

+0

ant.library.dir设置在哪里?它的价值究竟是什么? – flor 2016-07-27 03:26:25

+0

@flor很多关于这个问题的细节:) – 2016-07-27 20:45:10