Помогите установить FTP-задачу для ANT на OSX

#macos #ant #ftp

#macos #ant #ftp

Вопрос:

Всем привет. В настоящее время я пытаюсь настроить поддержку FTP для моей установки ANT (версии 1.8.2) на OSX (Snow Leopard 10.6.7) и я как бы натыкаюсь на стену. Я прочитал документацию по Apache.org рассказываю об установке новых задач, а также о нескольких статьях, разбросанных по всему Интернету, и, похоже, я не могу заставить эту штуку работать.

Все статьи, которые я прочитал, относятся к двум конкретным файлам JAR, которые не поставляются в комплекте с установкой ANT по умолчанию:

  1. Commons-Net (2.2.0)
  2. Джакарта ОРО (2.0.8)

По-видимому, Jakarta ORO больше не является активным проектом Apache, но я смог найти архивированную версию.

Затем, по-видимому, все, что мне нужно сделать, это поместить предварительно скомпилированные файлы JAR в папку lib относительно базового каталога установки ANTs. Я выполнил следующую команду:

 ant -diagnostics | grep ftp.*Available
  

И я получаю следующий ответ:

 ftp : Not Available (the implementation class is not present)
  

Никакой радости.

Не уверен, что еще можно сделать. Из того, что я прочитал, я выполняю соответствующие шаги, чтобы заставить эту штуку работать.

Итак, я провел несколько часов должной проверки, и у меня не осталось выбора, кроме как обратиться ко всем вам за помощью. Ниже приведена прямая ссылка на вывод переключателя -diagnostics. Надеюсь, кто-нибудь сможет пролить свет на то, что я здесь делаю неправильно.

http://www.thedrunkenepic.com/uploads/antDiagnostics.txt

Как всегда, я благодарен за любую помощь, которую я могу получить!

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я использую OSX уже в течение последних нескольких месяцев, и хотя я чувствую себя довольно комфортно при использовании терминала, я все еще относительно новичок. Поэтому, пожалуйста … будьте нежны. 🙂

Ответ №1:

Если вы не хотите повторно устанавливать Ant только для добавления зависимости, вы можете сделать это:

  • Скачать ant-commons-net.jar для имеющейся у вас версии Ant (ссылка приведена для Ant 1.8.2, который является Ant, включенным в OS X Lion).
  • Поместите jar в ~/.ant/lib/ (создайте этот каталог, если у вас его нет).
  • Готово!

Ответ №2:

Версия ant, поставляемая с OSX, не включает ни одной из дополнительных задач — не только зависимости (например, commons-net), но и файлы jar, которые реализуют сами задачи, отсутствуют. Я думаю, что при компиляции ant эти задачи создаются только в том случае, если зависимости присутствуют на компьютере (поскольку они ссылаются на них), а инженер Apple (или машина сборки), которая скомпилировала версию mac ant, не имела зависимостей.

Например:

 ~ $ ls /usr/share/java/ant-1.8.2/lib/ant-commons-net.jar
ls: /usr/share/java/ant-1.8.2/lib/ant-commons-net.jar: No such file or directory
  

но (у меня есть ant, загруженный из Apache, установленный локально в моем ~/tools каталоге):

 ~ $ ls tools/apache-ant-1.8.2/lib/ant-commons-net.jar 
tools/apache-ant-1.8.2/lib/ant-commons-net.jar
  

и:

 ~ $ jar -tf tools/apache-ant-1.8.2/lib/ant-commons-net.jar | grep FTPTask.class
org/apache/tools/ant/taskdefs/optional/net/FTPTask.class
  

Вероятно, вам лучше всего получить версию ant напрямую с сайта Apache и установить ее где-нибудь локально.

Комментарии:

1. Я пошел дальше и установил и собрал последнюю версию с веб-сайта Ant project, и она работает безупречно. Спасибо за всю помощь! По крайней мере, я узнал чертовски много нового об OSX! 🙂