4

質問

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.

背景

を使用して ant をインストールし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)

多くのグーグルと手動の読書の後、私は次のことを試してみましたが役に立ちませんでした(注:上記の診断には以下の変更はありません)。私は明らかな何かが欠けていることを知っています:(

  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
4

2 に答える 2

6

保持ant-salesforce.jar/home/ec2-user/ant/ucpてから、要素を次のように変更taskdefします。

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

ビルドを再度実行して、見た目が良くなるかどうかを確認します。JAR を と同じフォルダーに置くとbuild.xml、権限に関する問題を解消するのに役立ちます。

于 2013-05-05T00:00:29.460 に答える