Interested Article - Apache Commons

Apache Commons — проект фонда Apache Software Foundation (далее ASF), имеющий своей целью разработку и поддержку открытого программного обеспечения повторного использования на языке Java , то есть библиотек Java. В более узком смысле Apache Commons — это «большая коллекция маленьких Java-утилит» . Apache Commons ранее являлся частью проекта Jakarta Project и носил название «Jakarta Commons» . Apache Commons содержит набор библиотек утилит Java самого разного назначения, доступных по лицензии Apache License , и использующихся во многих других проектах с открытым исходным кодом. Утилиты проекта Apache Commons лежат в основе таких проектов как Apache Tomcat , Struts , Hibernate и др. По мнению Гейра Магнуссона Джуниора ( англ. Geir Magnusson Jr ), члена совета директоров ASF , бывшего техническим директором и лидером в таких компаниях как 10gen , Joost , , Bloomberg и Intel , Apache Commons стал «местом, где программисты на языке Java в первую очередь ищут помощи, чтобы решить общие проблемы серверного и клиентского программирования» .

Цели проекта

Согласно уставу проекта, проект должен «создавать и поддерживать пакеты, написанные на языке Java, предназначенные для использования в разработке серверных приложений, и спроектированные таким образом, чтобы их можно было использовать независимо в любом более крупном продукте или фреймворке. Каждый пакет будет поддерживаться таким же образом, как и сам продукт Jakarta» ( англ. "The subproject shall create and maintain packages written in the Java language, intended for use in server-related development, and designed to be used independently of any larger product or framework. Each package will be managed in the same manner as a larger Jakarta product." ) .

История

История Apache Commons восходит к 1999 году, когда, в июне, была зарегистрирована ранее известная под названием «Apache Group» некоммерческая организация Apache Software Foundation (далее ASF) . Основным проектом, поддерживаемым фондом, был Apache HTTPD Web Server , созданный между 1995 и 1999 гг. Одним из проектов Apache Software Foundation стал Jakarta Project (проект Jakarta), который являлся результатом сотрудничества компаний Sun Microsystems , IBM , Oracle и сообщества разработчиков веб-сервера (Apache HTTP Server). В начале 2001 года, в ходе работы в разных подпроектах проекта Jakarta, было замечено, что они часто реализовывают одну и ту же функциональность, а иногда копируют её друг у друга. Было накоплено множество полезного кода, который тем не менее было проблематично найти пользователям в виде простого отдельного пакета (библиотеки). После обсуждения данных проблем было решено создать проект Jakarta Commons , в котором начали активно создавать компоненты на Java, в основном на основе уже существующего кода. 19 марта 2001 Комитет проект-менеджмента Jakarta утвердил устав проекта , в котором оговаривались основные правила и условия работы в проекте . Согласно уставу, первые пакеты были основаны на существующей кодовой базе ASF, включая код работающий с источниками данных и пулами баз данных, с конфигурирациями XML , ресурсами сообщений, интернационализацией , JNDI и именованием, тестовыми наборами. Первым пакетом, вошедшим в состав Commons, был пакет Database Connection Pool. В период 2001—2005 был разработан основной набор библиотек, ставший базисом для Apache Commons. К 2003 секция proper уже содержала 21 компонент , к 2004 — 28 компонентов , а к 2005 — 29 компонентов . 19 мая 2004 была утверждена новая версия устава, с поправками в старый вариант . В первом составе проекта Commons было 10 участников с правом внесения изменений, к 2004 году их было уже более 80 . 20 июня 2007 Apache Board (Совет Apache) по результатам анонимного голосования выделил проект Commons из состава проекта Jakarta, после чего Commons стал проектом верхнего уровня в иерархии Apache (то есть отдельным независимым проектом) и стал называться Apache Commons . К концу 2012 года в proper уже было 43 активных компонента.

Структура

В иерархии проектов Apache Software Foundation Apache Commons является проектом «верхнего уровня». В свою очередь, Commons разбивается на множество проектов «второго уровня». Каждый проект второго уровня имеет свой сайт, каталог в общем репозитории исходного кода , каталог в общей системе отслеживания ошибок и имеет своей целью разработку одного одноимённого компонента (библиотеки) Java. Активные проекты имеют несколько постоянных участников, неактивные проекты могут вообще не иметь постоянных участников. Компоненты представляют собой JAR файлы , как правило не превышающие по объёму 1 Мб . Подпроекты Commons делятся на 3 секции: proper (корректные), sandbox (песочница) и dormant (спящие). Секция proper — основная секция проектов, которая на октябрь 2012 года включала 43 проекта. Компоненты секции proper поддерживаются в рабочем состоянии, и обновляются, сохраняя свои интерфейсы насколько возможно неизменными, чтобы не создавать проблемы существующим пользователям. Секция sandbox предназначена для создания новых проектов и подготовки их к включению в секцию proper или в другие проекты apache. В октябре 2012 года секция sandbox включала 16 проектов. Доступ для внесения изменений в проекты этой секции открыт для всех зарегистрированных участников Apache. В секцию Dormant переводят старые проекты, в которых была замечена слишком низкая активность по внесениям изменений, или полное отсутствие активности, и которые ASF не планирует в будущем обновлять (выпускать новые версии). К концу 2012 года туда было включено 15 проектов.

Компоненты

Пояснения к таблице:

  • proper — компоненты секции proper (корректные), «зрелые» компоненты, то есть активные и обновляемые, API которых стабилизирован;
  • sandbox — компоненты секции sandbox (песочница), «сырые» компоненты, то есть находящиеся в стадии разработки и тестирования;
  • dormant — компоненты секции dormant (спящие), то есть устаревшие и необновляемые, релизов по данным компонентам не планируется;
  • Первый релиз — дата первого официального релиза или первого стабильного релиза, как правило версии 1.0, библиотеки как отдельного компонента (альфа-релизы, dev-релизы, релиз-кандидаты, pre-релизы, релизы в составе других компонентов и релизы вне Apache/Jakarta Commons не учитываются)
  • таблица отражает состояние на декабрь 2012
Название Сайт Статус Первый релиз Описание
Attributes proper 2004-08-15, v2.1 Поддержка атрибутов в стиле C#/.Net
BCEL proper 2001-12-12, v5.0 Byte Code Engineering Library. Манипуляция java-классами
BeanUtils proper 2001-07-14, v1.0 Удобные для использования обертки над пакетами java.lang.reflect и java.beans (API для отражения и самодиагностики)
Betwixt proper 2004-07-03, v0.5 Связывание JavaBeans с XML-документами
BSF proper 2006-10-06, v2.4.0 Bean Scripting Framework. Интерфейс для скриптовых языков
Chain proper 2004-12-09, v1.0 Реализация паттерна Цепочка обязанностей
CLI proper 2002-11-06, v1.0 Command Line Interface. Парсер аргументов командной строки
Codec proper 2003-05-11, v1.1 Кодирование и декодирование алгоритмов, таких как Base64 , Hex , ; и URL .
Collections proper 2002-04-05, v2.0 Расширение и дополнение Java Collections Framework .
Compress proper 2010-08-24, v1.1 API для работы с файлами , cpio , Unix dump , tar , zip , gzip , XZ , и bzip2 .
Configuration proper 2004-10-11, v1.0 Чтение файлов конфигурации и настроек различных форматов
CSV proper планируется v1.0 Чтение и запись файлов табличных данных формата CSV (от англ. Comma-Separated Values — значения, разделенные запятыми).
Daemon proper 2004-01-13, v1.0 API для создания сервисов на платформе WIN32 и демонов на платформе UNIX
DBCP proper 2002-08-12, v1.0 Database connection pooling services. Создание пула соединений к базе данных, в котором каждое соединение может последовательно обслуживать множество клиентов.
DbUtils proper 2003-11-11, v1.0 Обёртка над пакетом Java JDBC для упрощения кода.
Digester proper 2002-01-12, v1.2 Обработка файлов конфигурации формата xml , построение дерева объектов на основе структуры xml. Надстройка над парсером xml SAX.
Discovery proper 2006-12-03, v0.4 Обнаружение реализаций для подключаемых интерфейсов (то есть нахождение классов по заданному Java-интерфейсу).
EL proper 2003-06-20, v1.0 Интерпретатор JSP 2.0 Expression Language (Язык Выражений).
Email proper 2005-09-27, v1.0 API для отправки электронной почты.
Exec proper 2009-03-26, v1.0 Исполнение внешних процессов из приложения Java и работа с переменными окружения.
FileUpload proper 2003-06-24, v1.0 Пересылка файлов на сервер через веб-приложение, парсинг HTTP-заголовков, соответствующих .
Functor proper нет Объект-функция, для использования в паттернах Посетитель , Стратегия , Цепочка обязанностей и др. В сентябре 2005 был переведен в Dormant , а в сентябре 2011 переведен в Proper .
Imaging (Sanselan) proper нет Библиотека для работы с изображениями
IO proper 2004-05-13, v1.0 Утилиты ввода-вывода
JCI proper 2007-06-18, v1.0 Java Compiler Interface. Интерфейс компилятора Java. Используется для компилирования Java из Java-приложений.
JCS proper 2007-06-05, v1.3 Java Caching System. Кэширование данных различной природы для ускорения приложений.
Jelly proper 2005-06-16, v1.0 Скриптовый механизм, основанный на XML. Превращение XML в исполняемый код.
Jexl proper 2004-09-07, v1.0 Java Expression Language. Язык выражений, расширяющий язык JSTL. Синтаксис похож на ECMAScript и shell-script.
JXPath proper 2002-06-25, v1.0 Интерпретатор языка выражений XPath. Манипулирование классами JavaBeans .
Lang proper 2002-10-04, v1.0 Дополнительная функциональность, расширяющая java.lang
Launcher proper 2004-08-22 v1.1 Кроссплатформенный стартер приложений
Logging proper 2002-08-13, v1.0.1 Обёртка над множеством реализаций логирования. Тонкий мост между приложением и библиотекой логирования.
Math proper 2004-12-09, v1.0 Математические и статистические функции
Modeler proper 2002-04-30, v1.0 Создание Model MBeans, совместимых с JMX
Net proper 2003-02-23, v1.0 Реализации различных Интернет-протоколов (на клиентской стороне)
OGNL proper 2011-09-22, v4.0 Object-Graph Navigation Language. Язык навигации по графу объектов. Установка и получение свойств Java-объектов. Более мощная альтернатива для BeanUtils и EL/JSTL.
Pool proper 2002-05-04, v1.0 API для создания пулов объектов
Primitives proper 2003-11-05, v1.0 Работа с простыми типами данных и коллекциями.
Proxy proper 2008-03-06, v1.0 Создание динамических прокси
RNG proper Генераторы случайных чисел
SCXML proper 2006-07-28, v0.5 State Chart XML. Машина состояний ( конечный автомат ), определённая документом SCXML.
Transaction proper 2004-12-15, v1.0 Многоуровневые блокировки, транзакционные коллекции, транзакционный доступ к файлам
Validator proper 2002-11-01, v1.0 Фреймворк для проверки правильности данных с возможностью указания правил в XML-файле
VFS proper 2006-12-30, v1.0 Virtual File System. Виртуальная файловая система, обращающаяся с обычными файлами, FTP, SMB, ZIP и т. п. как с единой логической файловой системой
benchmark нет dormant нет Тестирование производительности Java-кода (с возможностью включения/выключения во время исполнения). Не получил развития из-за существования достойных аналогов. Переведен в dormant в декабре 2005 , пролежав в sandbox меньше года.
Cache dormant нет Кэширование объектов. API для хранения/извлечения объектов на основе ключа. Не получил развития, так как был вытеснен компонентами Stratum, JCS, EHCache и др., и кроме того зачастую может быть замещён классом LRUMap из Commons Collections . Переведен в dormant в сентябре 2005 .
Clazz dormant нет Расширенный вариант java.lang.Class, который позволяет изменять определение класса во время исполнения. Предназначен для обработки Java-бинов в JDK при работе с классами List и Map и предоставляет альтернативу java.beans.Introspector. Переведен в dormant в сентябре 2005 .
Codec-multipart нет dormant нет Полезен для веб-браузера, написанного на Java. Позволяет закодировать набор файлов и пары имя/значение в формате multipart/form-data (по протоколу, описанному в RFC2388 ). Переведен в dormant в сентябре 2005 , пролежав в Sandbox полтора года.
Combo нет dormant нет Commons Combo, он же Commons Core. Проект, который так и не вышел за рамки обсуждения, начатого в августе 2003 . Предполагалось, что это будет сборка нескольких часто используемых компонентов Commons в один общий пакет JAR, или инструмент для создания такой сборки самим пользователем. В январе 2006 переведен в dormant .
Contract dormant нет API для контрактного программирования в Java. Переведен в dormant в декабре 2005 после 6 месяцев отсутствия активности в проекте
Convert dormant нет Конвертация объектов одного типа в другой. Переведен в dormant в сентябре 2005 .
Events dormant нет Запуск и обработка событий. Декораторы над классами Java Collections Framework , которые также запускают события. Переведен в dormant в сентябре 2005 .
Feedparser dormant нет Парсер лент типа RSS , Atom и т. п. Переведен в dormant из proper в январе 2006
Filters нет dormant нет Сервлетные фильтры разного назначения для веб-приложений. Используют Servlet 2.3 API. Могут быть подключены в веб-приложения, как плагины. Переведен в dormant в сентябре 2005 .
Grant нет dormant нет Небольшой набор хаков для Ant , чтобы лучше/иначе управлять путями и опциями. Переведен в dormant в сентябре 2005
Http нет dormant нет Содержит простые утилиты для работы с протоколом HTTP (детектор браузера, парсер заголовка). Переведен в dormant в сентябре 2005 .
Jex нет dormant нет Механизм плагинов для интерпретаторов языков выражений. Изначально включает два языка: JXPath и Bexl. Переведен в dormant в сентябре 2005 .
JJar dormant нет Jakarta JAR Archive Repository. Попытка создать сервис наподобие CPAN для Java-сообщества. Состоит из 2-х частей: распределённый репозиторий и набор инструментов для работы с репозиториями и управления пакетами. Переведен в dormant в сентябре 2005 .
JPath нет dormant нет Механизм для использования языка XPath с графами обыкновенных объектов (JavaBeans, коллекции (контейнеры), массивы, объекты map и примитивные значения. Опирается на JAXP и реализацию интерпретатора XPath. Переведен в dormant в сентябре 2005 .
Jrcs нет dormant нет Java RCS Tools. Парсинг и манипулирование файлами-архивами RCS наподобие Revision Control System и Concurrent Versions System . Зависит от пакета ORO. Пакетом занимался только один разработчик, который так и не смог создать для него сайт, привлечь новых участников, завершить разработку и выпустить релиз. В августе 2005 Jrcs официально перешёл в Codehaus , откуда он потом бесследно исчез, а кодовая база на сайте ASF переведена в Dormant .
Jux нет dormant нет Commons JUnit Extensions. Предназначен для создания тестов. Зависит от junit. Переведен в dormant в сентябре 2005 .
Latka dormant нет Инструмент функционального тестирования HTTP, использующий XML для задания тестов. Для автоматизированного QA. Переведен в dormant в марте 2006
Mapper dormant нет Общий интерфейс ( мост ) над технологией маппирования Java-объектов, выбранной проектом. Поддерживает техники: JDBC, JDO, EJB, Hibernate, iBatis, XML. Переведен в dormant в сентябре 2005
Messenger dormant нет Фреймворк для облегчения работы с Java Message Service . Переведен в dormant в сентябре 2005
Periodicity нет dormant нет Построенная на веб-интерфейсе календарная система. Переведена в dormant в сентябре 2005
Reflect нет dormant нет Java Reflection Framework. API для доступа к классам, методам и членам динамически во время исполнения. Переведен в dormant в сентябре 2005
Resources dormant нет Легковесный фреймворк для определения и поиска локализованных строк, завязанных на java.util.Locale. Переведен в dormant в марте 2006 г.
Rupert нет dormant нет Набор утилит для использования в разработке веб-приложений на основе сервлетов. Переведен в dormant в сентябре 2005
Scaffold dormant нет Тулкит для построения веб-приложений. Переведен в dormant в сентябре 2005
Services нет dormant нет Service Manager. Универсальный мост, соединяющий центральное приложение (например, Jakarta Struts) с внешними модулями. Переведен в dormant в сентябре 2005
Servlet нет dormant нет Утилиты для разработки сервлетов . Переведен в dormant в декабре 2005
Simplestore нет dormant нет Интерфейс для хранения и извлечения объектов. Переведен в dormant в сентябре 2005
Tbm нет dormant нет Thread Benchmark. Фреймворк для тестирования многопоточных приложений. Поиск узких мест многопоточности (threading bottlenecks) и синхронизации (synchronization bottlenecks). Переведен в dormant в сентябре 2005
Test нет dormant нет Утилиты для тестирования. Переведен в dormant в сентябре 2005
Threading нет dormant нет Утилитные классы и интерфейсы для координации и коммуникации потоков между собой в многопоточных серверных приложениях. Переведен в dormant в сентябре 2005
ThreadPool dormant нет Фреймворк для работы с пулами потоков и асинхронного выполнения задач. Вытеснен библиотекой Доуга Леа util.concurrent, предшественником пакета java.util.concurrent, входящего в состав JDK. Переведен в dormant в сентябре 2005
Transaction нет dormant 2004-12-15, v1.0 Утилитные классы для транзакционного программирования на Java (многоуровневые блокировщики, коллекции, транзакционный доступ к файлам). В марте 2010 основной разработчик отказался от продолжения работы над проектом, обосновав это тем, что, по его мнению, невозможно построить транзакционную файловую систему поверх обычной . Переведен в dormant в апреле 2010 Transaction — это первый компонент Commons, который был переведен в dormant из секции proper, то есть компонент, имеющий релизы. До него в dormant переводились только компоненты из sandbox .
Workflow dormant нет Компонент для связи компонентов и модулей Java-приложения при помощи скриптов (концепция «Композиция» приложения). Переведен в dormant в сентябре 2005
Xmlio dormant нет Импортирование/экспортирование XML в/из Java-приложений. Переведен в dormant в сентябре 2005
Xmlunit нет dormant нет Переведен в dormant в сентябре 2005
Xo нет dormant нет Компонент . Переведен в dormant в сентябре 2005

Распространение

Согласно утверждению Гийома Руссо (директор компании Antelink, поддерживающей Antepedia, крупнейший онлайн-справочник и поисковик компонентов с открытым исходным кодом ), 3 % программного обеспечения с открытым исходным кодом используют библиотеки Apache Commons . В пятёрку самых популярных компонентов входят компоненты Logging, Collections, Lang, BeanUtils, Httpclient.

По статистике сайта AppBrain.com (онлайн-библиотека приложений Android), компоненты Apache Commons Codec и IO используются более чем в 1 % приложений на платформе Android , а Logging и Lang использует более 0,5 % приложений Android .

Библиотека Apache Commons Math была выбрана в 2011 году французским космическим агентством CNES (Centre National d'Études Spatiales) в качестве базиса для разработки динамичных систем космических полётов, известных как проект Сириус (Sirius) .

Примечания

  1. John T. Bell, Stanford Ng, James T. Lambros. . — Wiley Publishing, Inc, 2003. — P. . — ISBN 0-471-44435-9 .
  2. Marx, Dustin. (англ.) . (11 января 2008). Дата обращения: 19 сентября 2012. Архивировано из 31 октября 2012 года.
  3. , p. XIII.
  4. , p. 1.
  5. , pp. Foreword.
  6. . Дата обращения: 20 сентября 2012. 14 ноября 2012 года.
  7. (англ.) (30 июня 1999). Дата обращения: 19 сентября 2012. Архивировано из 31 октября 2012 года.
  8. Goyal, Vikram. (англ.) . onjava.com by O’Reilly (25 июня 2003). Дата обращения: 19 сентября 2012. Архивировано из 31 октября 2012 года.
  9. , pp. 2,3.
  10. . Дата обращения: 19 сентября 2012. 12 октября 2012 года.
  11. .
  12. , .
  13. , .
  14. . Дата обращения: 21 сентября 2012. 20 сентября 2012 года.
  15. , .
  16. Donkin, Robert Burrell (03 Jul 2004). . The Jakarta Announcement List (Mailing list) (англ.) . из оригинала 14 ноября 2015 . Дата обращения: 13 октября 2012 . {{ cite mailing list }} : Проверьте значение даты: |date= ( справка )
  17. , .
  18. , .
  19. , .
  20. , .
  21. , .
  22. Grobmeier, Christian (24 Aug 2010). . Apache Announce List (Mailing list) (англ.) . из оригинала 2 февраля 2012 . Дата обращения: 20 августа 2012 .
  23. . Дата обращения: 22 сентября 2012. 26 сентября 2012 года.
  24. Gary Gregory . (недоступная ссылка) . Apache SVN (2012-09-11)
  25. Yoav Shapira . (недоступная ссылка) . Apache SVN (2004-01-13)
  26. , .
  27. Nielsen, Glenn (16 Aug 2002). . Commons Developer List (Mailing list) (англ.) . из оригинала 5 марта 2016 . Дата обращения: 7 октября 2012 .
  28. , .
  29. Scott Sanders . (недоступная ссылка) . Apache SVN (2002-01-12)
  30. , .
  31. Yandell, Henri (04 Dec 2006). . Apache Commons User (Mailing list) (англ.) . из оригинала 22 сентября 2015 . Дата обращения: 13 октября 2012 . {{ cite mailing list }} : Проверьте значение даты: |date= ( справка )
  32. , .
  33. , .
  34. Benson, Matt (26 Mar 2009). . Apache Commons User (Mailing list) (англ.) . из оригинала 25 сентября 2015 . Дата обращения: 29 августа 2012 .
  35. , .
  36. Cooper, Martin (26 Jun 2003). . Apache Commons User (Mailing list) (англ.) . из оригинала 5 марта 2016 . Дата обращения: 30 августа 2012 .
  37. . Дата обращения: 30 сентября 2012. 13 ноября 2012 года.
  38. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  39. Yandell, Henri (28 Aug 2005). . Commons Developer List (Mailing list) (англ.) . из оригинала 5 марта 2016 . Дата обращения: 27 ноября 2012 .
  40. Tripodi, Simone (19 Sep 2011). . Commons Developer List (Mailing list) (англ.) . из оригинала 5 марта 2016 . Дата обращения: 24 февраля 2013 .
  41. , .
  42. Yandell, Henri (14 May 2004). . Apache Commons User (Mailing list) (англ.) . из оригинала 5 марта 2016 . Дата обращения: 4 октября 2012 .
  43. 14 мая 2012 года.
  44. Curdt, Torsten (20 Jun 2007). . Apache Commons User (Mailing list) (англ.) . из оригинала 17 сентября 2011 . Дата обращения: 4 октября 2012 .
  45. . Дата обращения: 4 октября 2012. 14 ноября 2012 года.
  46. Apache Jakarta Project. News & Status. от 23 октября 2012 на Wayback Machine
  47. Vandahl, Thomas (11 Jun 2007). . Apache Announce List (Mailing list) (англ.) . из оригинала 2 февраля 2012 . Дата обращения: 20 августа 2012 .
  48. , .
  49. , .
  50. Plotnikov, Dmitri (25 Jun 2002). . The Jakarta Announcement List (Mailing list) (англ.) . из оригинала 9 ноября 2015 . Дата обращения: 6 октября 2012 .
  51. . Дата обращения: 6 октября 2012. Архивировано из 29 сентября 2012 года.
  52. , .
  53. Yandell, Henri (04 Oct 2002). . The Jakarta Announcement List (Mailing list) (англ.) . из оригинала 10 ноября 2015 . Дата обращения: 6 октября 2012 . {{ cite mailing list }} : Проверьте значение даты: |date= ( справка )
  54. , .
  55. Shapira, Yoav (22 Aug 2004). . The Jakarta Announcement List (Mailing list) (англ.) . из оригинала 10 ноября 2015 . Дата обращения: 6 октября 2012 .
  56. , .
  57. Sanders, Scott (13 Aug 2002). . The Jakarta Announcement List (Mailing list) (англ.) . из оригинала 9 ноября 2015 . Дата обращения: 6 октября 2012 .
  58. , .
  59. Steitz, Phil (09 Dec 2004). . The Jakarta Announcement List (Mailing list) (англ.) . из оригинала 9 ноября 2015 . Дата обращения: 8 октября 2012 . {{ cite mailing list }} : Проверьте значение даты: |date= ( справка )
  60. Craig R. McClanahan . 28 сентября 2012 года. . Apache Commons Modeler
  61. , .
  62. Brekke, Jeffrey D. (23 Feb 2003). . The Jakarta Announcement List (Mailing list) (англ.) . из оригинала 6 ноября 2015 . Дата обращения: 8 октября 2012 .
  63. Simone Tripodi . (недоступная ссылка) . Apache SVN (2011-09-22)
  64. от 16 октября 2012 на Wayback Machine . Apache Commons.
  65. , .
  66. Waldhoff, Rodney (06 Nov 2003). . The Jakarta Announcement List (Mailing list) (англ.) . из оригинала 14 ноября 2015 . Дата обращения: 8 октября 2012 . {{ cite mailing list }} : Проверьте значение даты: |date= ( справка )
  67. Carman, James (06 Mar 2008). . Apache Commons User (Mailing list) (англ.) . из оригинала 2 октября 2015 . Дата обращения: 8 октября 2012 . {{ cite mailing list }} : Проверьте значение даты: |date= ( справка )
  68. , .
  69. Akolkar, Rahul (31 Jul 2006). . Apache Announce List (Mailing list) (англ.) . из оригинала 13 июня 2013 . Дата обращения: 13 октября 2012 .
  70. , .
  71. Zeigermann, Oliver (15 Dec 2004). . The Jakarta Announcement List (Mailing list) (англ.) . из оригинала 14 ноября 2015 . Дата обращения: 13 октября 2012 .
  72. , .
  73. Turner, James (01 Nov 2002). . The Jakarta Announcement List (Mailing list) (англ.) . из оригинала 6 ноября 2015 . Дата обращения: 13 октября 2012 . {{ cite mailing list }} : Проверьте значение даты: |date= ( справка )
  74. , .
  75. Ivankovits, Mario (30 Dec 2006). . Apache Commons User (Mailing list) (англ.) . из оригинала 11 декабря 2010 . Дата обращения: 13 октября 2012 .
  76. Yandell, Henri (01 Dec 2005). . Commons Developer List (Mailing list) (англ.) . из оригинала 30 сентября 2015 . Дата обращения: 29 ноября 2012 . {{ cite mailing list }} : Проверьте значение даты: |date= ( справка )
  77. Henri Yandell (bayard) . . Apache SVN (2005-12-07)
  78. Waldhoff, Rodney (31 Dec 2002). . Commons Developer List (Mailing list) (англ.) . из оригинала 5 марта 2016 . Дата обращения: 27 ноября 2012 .
  79. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  80. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  81. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  82. Yandell, Henri (14 Aug 2003). . Commons Developer List (Mailing list) (англ.) . из оригинала 5 марта 2016 . Дата обращения: 3 декабря 2012 .
  83. Rahul Akolkar (rahul) . . Apache SVN (2006-01-06)
  84. Akolkar, Rahul (06 Jan 2006). . Commons Developer List (Mailing list) (англ.) . из оригинала 7 ноября 2015 . Дата обращения: 3 декабря 2012 . {{ cite mailing list }} : Проверьте значение даты: |date= ( справка )
  85. Henri Yandell (bayard) . . Apache SVN (2005-12-07)
  86. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  87. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  88. Rahul P Akolkar . . Apache SVN (2006-01-06)
  89. Steitz, Phil (01 Jan 2006). . Commons Developer List (Mailing list) (англ.) . из оригинала 30 сентября 2015 . Дата обращения: 29 ноября 2012 . {{ cite mailing list }} : Проверьте значение даты: |date= ( справка )
  90. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  91. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  92. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  93. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  94. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  95. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  96. Henri Yandell (bayard) . . Apache SVN (2005-08-28)
  97. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  98. Rahul Akolkar (rahul) . . Apache SVN (2006-03-29)
  99. Colebourne, Stephen (14 Mar 2006). . Commons Developer List (Mailing list) (англ.) . из оригинала 15 сентября 2020 . Дата обращения: 1 апреля 2013 .
  100. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  101. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  102. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  103. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  104. Rahul Akolkar (rahul) . . Apache SVN (2006-04-29)
  105. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  106. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  107. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  108. Henri Yandell (bayard) . . Apache SVN (2005-12-07)
  109. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  110. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  111. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  112. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  113. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  114. Zeigermann, Oliver (15 Dec 2004). . Commons Developer List (Mailing list) (англ.) . из оригинала 5 марта 2016 . Дата обращения: 26 октября 2013 .
  115. Zeigermann, Oliver (28 Mar 2010). . Commons Developer List (Mailing list) (англ.) . из оригинала 5 марта 2016 . Дата обращения: 26 октября 2013 .
  116. Oliver Zeigermann (ozeigermann) . от 27 апреля 2011 на Wayback Machine . Apache SVN (2010-04-16)
  117. Pemberton, Niall (16 Apr 2010). . Commons Developer List (Mailing list) (англ.) . из оригинала 30 октября 2015 . Дата обращения: 26 октября 2013 .
  118. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  119. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  120. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  121. Henri Yandell (bayard) . . Apache SVN (2005-09-03)
  122. Guillaume Rousseau. (англ.) . fossbazaar.org (15 апреля 2010). Дата обращения: 24 февраля 2013. 6 июля 2010 года.
  123. от 22 января 2013 на Wayback Machine . www.appbrain.com
  124. Дмитрий Шурупов. . nixp.ru (23 марта 2011). Дата обращения: 24 февраля 2013. Архивировано из 6 марта 2016 года.

Литература

Ссылки

  • — официальный сайт проекта
  • Goyal, Vikram . Using the Jakarta Commons. 2003. , , . — серия статей об использовании Jakarta Commons (ныне Apache Commons)
  • Narayanan A.R. Extend the JDK Classes with Jakarta Commons. 2005. , , — серия статей об использовании Jakarta Commons (ныне Apache Commons)
Источник —

Same as Apache Commons