2010-03-31 11 views
5

Ant oluşturma işlemimin bir parçası olarak, HTTP Post üzerinden bir web sunucusuna dosya yüklemek istiyorum. Karınca sadece bir HTTP Get göreviyle birlikte gelir. Ancak, Ant Contrib bir HTTP Görevine sahip gibi görünüyor. Sorun şu ki, herhangi bir Temel Kimlik Doğrulama (get gibi) ya da bir dosya yüklemeyi belirtmenin herhangi bir yolu yoktur (belgelerin ne dediğine rağmen, "rawFile" dağıtımın bir parçası değildir).http gönderi ile kayıt için ant ile

Soruma göre: Ant Bağışı'nın Görevleri görevi istediğimi destekliyor, ancak belirgin olmayan bir şekilde (belki de el ile yapmam gerekiyor)? Yoksa bunu yapmanın başka bir yolu var mı?

cevap

6

ANT yürütme görevi aracılığıyla çağrılan curl programını kullanın. bukle örnekler için

istemci jakarta commons üzerine http tabanlı karınca görevlerin bir sürü var bu answer

+0

ver. Bunu yapabilirim, ama bukle sadece svn dışına build.xml çekin ve işe bekleyemezsiniz anlamına gelir yüklü olması anlamına gelir. :(Seni duyuyorum – paleozogt

+0

, * ve * yapmak daha da sen ben karınca exec çirkin olduğunu kabul –

0

okuyun:

http://fikin-ant-tasks.sourceforge.net/

da kimlik doğrulama ile bir http sonrası görevi sağlar.

exec ile ant kullanırken java vm dışında yeni bir işlem açacaksınız. Mümkünse IMO harici işlemlerden kaçınılmalıdır.

P.S. : Temel kimlik doğrulaması ile karınca görevler fikin/http sonrası kırık ise gördüğüm, jakarta commons bir java sınıfı, hatta kendi görev yazma tercih ediyorum jakarta commons http client yüzden sample for basic authentication2

o karınca ile aynı vm yayınlanabilir ya da belki bir çatallı java sürecinde
size

+0

:-(yanı tahrip içine 3. parti kavanozları işlemedikleri sürece sorunlarınızı çözmez ANT eklentileri kullanarak mutsuz ve ben daha ziyade saf java kullanmak istiyorsunuz Ancak, fikin karınca görevler Temel Kimlik doğrulaması için kırılır – paleozogt

+0

fikin en httpmpost görevi çoklu iş parçacığı modunda çalışacak başarısız görünüyor mesela:... THREADCOUNT = 5 –

0

Orada Antelope bir http sonrası görev ama bunun temel kimlik doğrulaması desteklemek için görünmüyor .. google aracılığı jakarta commons httpclient ile dosya yükleme için çeşitli örneklerini bulacaksınız. :/

0

Ayrıca, http alıp gönderme yaptıklarını iddia eden karınca sanal alanında here bir AntLib de var. Ancak, kimlik doğrulaması da bozulur.

0

Ant görevine, temel görevi için temel kimlik doğrulaması ekleyen bir yama yaptım. Umarım bagaja dahil olur. Bu arada, kaynağından inşa etmek ve uygulamak yama kendiniz yapabilirsiniz:

http://sourceforge.net/tracker/?func=detail&aid=3110414&group_id=36177&atid=416922

yeni karınca contrib.jar yükledikten sonra, sadece onu adı eklemek ve şifre sonrası göreve nitelikleri ve iyi çalışmalı. Dosya yüklüyor, bilmiyorum ...

6

Apache 2.0 lisanslı, tam özellikli ve kullanımı kolay bir ant http görevi oluşturdum. Java.net. * Sınıflarını kullanır ve üçüncü parti kütüphane bağımlılıklarına sahip değildir.

Dosyalar veya satır içi öğelerle POST/PUT yapabilir ve beklenmedik sonuçlarda yapı hatası için gerekli üstbilgileri, kimlik doğrulama ve durum kodunu denetlemek için esnek seçeneklere sahiptir.

http://missinglinkcode.wordpress.com/2011/03/15/apache-ant-http-task/

+0

görev için de Üzgünüz, Alex> Gördüğünüz sizin gönderme yukarıda beni Missing Link benim ipucu yazdıktan sonra, sen 'için PDF ;-) – Rebse

+0

örnekler sakıncası yoktur' Sadece haberin olsun. '' ile '' etiketi kapatın. Teşekkür görev için olsa Bunu şimdi deneyin! :) –

+0

Bir varlığa isim vermek mümkün mü? Ben böyle bir şey başarmak için çalışıyorum: 'bukle -u kullanıcı adı -X -F [email protected]/path/to/file.zip https PUT: // bazı/API/foo/42 '. Şu anda bir 500 hatası alıyorum ve bence bu varlığın "dosya" olarak adlandırılmamış olması nedeniyle, bu API'nin bir gereği olarak listeleniyor. Herhangi bir tavsiye? –