2013-05-04 97 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