scp経由でwarファイルをコピーする必要があります。
を追加しましたjsch-0.1.42.jar
が$ANT_HOME/lib
、まだこのエラーが発生します:
原因: クラス org.apache.tools.ant.taskdefs.optional.ssh.Scp が見つかりませんでした。これは、Ant のオプション コンポーネントの 1 つに見えます。
これは、念のため実行した結果ですant -diagnostics
。
私は同じ問題を抱えていて、それを修正しました!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
多くの開発者が犯す間違い:
ant-jsch.jar
古くなっています(この場合、<scp>タスクはantに対して不明です)ant-jsch.jar
しjsch
て、互換性を持たせます。jsch
ant lib dirに存在しないか、古くなっていますant-jsch.jar
に置き換えられましたjsch
(私はそれをしました...)最後の2つのケースでは、antはscpコマンドを知っていますが、使用できないと言っています。
診断の一番上から、これはあなたの問題のように見えます:
オプションのタスク : 利用できません
$ANT_HOME/lib ディレクトリに ant-jsch.jar がありません。これは、欠落しているクラスのソースです。
どうしてこうなったのかはわかりません。私は常にダウンロード サイトの ZIP ファイルから Ant をインストールします。これにはすべてのオプション タスクが含まれています。Ant を Linux パッケージからインストールした場合は、オプションのタスク用の別のパッケージがあるかどうかを確認してください。
オプションのタスクをインストールしたら、@trashgod が示唆するように、古いバージョンの jsch.jar を削除します。
maven pom.xmlにant-jschとjschの依存関係を追加するか、ビルドにこれら2つのjarを含めることで問題が解決しました。