18

scp経由でwarファイルをコピーする必要があります。

を追加しましたjsch-0.1.42.jar$ANT_HOME/lib、まだこのエラーが発生します:

原因: クラス org.apache.tools.ant.taskdefs.optional.ssh.Scp が見つかりませんでした。これは、Ant のオプション コンポーネントの 1 つに見えます。

これは、念のため実行した結果ですant -diagnostics

http://gist.github.com/320859

4

3 に答える 3

14

私は同じ問題を抱えていて、それを修正しました!ant lib dirで両方(antまたはjavaインストールからネイティブ)と更新(私の場合は) ant-jsch.jar必要jschであることを忘れないでください。jsch-0.1.46.jar

http://www.jcraft.com/jsch/jsch.jarから最新のものをロードし、libsフォルダーに追加する必要があります(ただし、置換はしません)。ant-jsch.jar

多くの開発者が犯す間違い:

  1. ant-jsch.jar古くなっています(この場合、<scp>タスクはantに対して不明です)
  2. ライブラリのバージョンを調整ant-jsch.jarjschて、互換性を持たせます。
  3. jschant lib dirに存在しないか、古くなっています
  4. ネイティブant-jsch.jarに置き換えられましたjsch(私はそれをしました...)

最後の2つのケースでは、antはscpコマンドを知っていますが、使用できないと言っています。

于 2012-02-26T17:05:07.837 に答える
14

診断の一番上から、これはあなたの問題のように見えます:

オプションのタスク : 利用できません

$ANT_HOME/lib ディレクトリに ant-jsch.jar がありません。これは、欠落しているクラスのソースです。

どうしてこうなったのかはわかりません。私は常にダウンロード サイトの ZIP ファイルから Ant をインストールします。これにはすべてのオプション タスクが含まれています。Ant を Linux パッケージからインストールした場合は、オプションのタスク用の別のパッケージがあるかどうかを確認してください。

オプションのタスクをインストールしたら、@trashgod が示唆するように、古いバージョンの jsch.jar を削除します。

于 2010-03-03T20:45:03.120 に答える
0

maven pom.xmlにant-jschとjschの依存関係を追加するか、ビルドにこれら2つのjarを含めることで問題が解決しました。

于 2019-05-03T17:00:28.610 に答える