- - PR -
Ant : SSH,SCPタスクが使えない
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-06-19 07:36
いつもお世話になっています。
All-in-one-Eclipseを使用しています。 導入されているAntが1.6.5のはずなので、scpやsshexecタスクを使用しようとしていますが、「scp task is not found」のようになってしまい使用できません。 Antホーム項目下にant-jsch.jarがあるのは確認しています。 タスクを追加したら良いのかと思いましたが名前欄等どう追加してよいか分からず、試しに名前「scp」で追加しましたが「〜.Scp class not found」のようになってしまい、やはり使えません。 同じような問題を解決された方いらっしゃいますでしょうか? (作業端末からWeb参照不可のため、事象説明があいまいで申し訳ございません) | ||||
|
投稿日時: 2006-06-19 09:00
Antのマニュアルにあるとおり、
jschタスクを使うためにはjschのjarファイルが必要です。 ここから、jsch-0.1.28.jarをダウンロードして、 ANT_HOME/libに入れてください。 taskdefは必要なかった気がします。 | ||||
|
投稿日時: 2006-06-19 12:11
>>koeさん
ありがとうございました。確かに使えました。 にしても、 「Scp.classやSshexec.classを持っているant-jsch.jarって何者?」 「なぜEclipseのAntエディタはオートコンプリートでscpやsshexec タスクを提示してくるのか? あらかじめjarが入っているからではないのか? (そのくせ実行するとタスクとみなさないのはなぜ?)」 といったところ疑問が残っています。 どなたかそのあたりについて詳しい方いらっしゃいましたら教えていただけると幸いです。 | ||||
|
投稿日時: 2006-06-20 10:46
詳しくないですしソースもちゃんと読んでいないので、以下は想像ですが
「Scp.classやSshexec.classを持っているant-jsch.jarって何者?」 →ant-jsch.jarに入っているのは、ScpやSshexecタスクを定義する クラスだけで、jsch自身のクラスは含まれていません。 ですので、ANT_HOMEにjschのjarが無いとClassNotFoundExceptionが 発生するのは当然のことです。 同梱していないのは…配布のライセンスが違うからでしょうかね。 それとも、「欲しいものは別途ダウンロードして」というポリシーなのかもしれません。 「なぜEclipseのAntエディタはオートコンプリートでscpやsshexec タスクを提示してくるのか? 」 →Eclipseはbuild.xmlで有効なタスク定義を拾って補完しているようです。 build.xml内でtaskdefしたタスクも補完してくれますし。 scp自体のタスク定義自体はant標準で行われています。 ちなみに、Antの起動スクリプトやmainクラス周りのソースを読むと、 ANT_HOME/lib以下のjarファイルを拾ってほにゃららするコードが 見受けられます。その辺をちゃんと読めば分かるかもしれません。 | ||||
|
投稿日時: 2006-06-21 21:24
なるほど、タスクは定義しているがモノはないから、と…。
分かりました、ありがとうございました。 | ||||
|
投稿日時: 2006-07-28 17:47
浦島フォローで恐縮ですが。。。
そのjschのjarは、Eclipse SDKにすでに含まれています。 Eclipse SDK 3.2ですと、plugins/ の下に com.jcraft.jsch_0.1.28.jarが あると思いますが、そちらをそのまま使っても問題ないと思います。 |
1