05-02-2024
Apache Commons — проект фонда Apache Software Foundation, имеющий своей целью разработку и поддержку открытого программного обеспечения повторного использования на языке Java, т.е. библиотек Java. Apache Commons ранее являлся частью проекта Jakarta Project и носил название «Jakarta Commons»[1]. Apache Commons содержит набор библиотек утилит Java самого разного назначения, доступных по лицензии Apache License, и использующихся во многих других проектах с открытым исходным кодом. Утилиты проекта Apache Commons лежат в основе таких проектов как Apache Tomcat, Struts, Hibernate и др.[2][3]
Содержание |
Согласно уставу проекта, проект должен «создавать и поддерживать пакеты, написанные на языке 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.")[4].
История Apache Commons восходит к 1999 году, когда, в июне, была зарегистрирована ранее известная под названием «Apache Group» некоммерческая организация Apache Software Foundation (далее ASF)[5]. Основным проектом, поддерживаемым фондом, был Apache HTTPD Web Server, созданный между 1995 и 1999 гг. Одним из проектов Apache Software Foundation стал Jakarta Project (проект Jakarta), который являлся результатом сотрудничества компаний Sun Microsystems, IBM, Oracle и сообщества разработчиков веб-сервера (Apache HTTP Server). Несколько позже в рамках проекта Jakarta был создан проект Jakarta Commons, в котором начали активно создавать компоненты на Java. 19 марта 2001 Комитет проект-менеджмента Jakarta утвердил устав проекта[4], в котором оговаривались основные правила и условия работы в проекте[6]. Согласно уставу, первые пакеты были основаны на существующей кодовой базе ASF, включая код работающий с источниками данных и пулами баз данных, с конфигурирациями XML, ресурсами сообщений, интернационализацией, JNDI и именованием, тестовыми наборами. Первым пакетом, вошедшим в состав Commons, был пакет Database Connection Pool. В период 2001-2005 был разработан основной набор библиотек, ставший базисом для Apache Commons. К 2003 секция proper уже содержала 21 компонент[7]. 19 мая 2004 была утверждена новая версия устава, с поправками в старый вариант[4]. К 2005 в Commons было уже 29 компонентов[8]. 20 июня 2007 Apache Board (Совет Apache) по результату анонимного голосования выделил проект Commons из состава проекта Jakarta, после чего Commons стал проектом верхнего уровня (т.е. отдельным независимым проектом) и стал называться Apache Commons[9].
В иерархии проектов Apache Software Foundation Apache Commons является «проектом верхнего уровня». Библиотеки проекта Commons делятся на 3 секции: proper (корректные), sandbox (песочница) и dormant (спящие). Секция proper — основная секция библотек, которая на момент 2012 года включала 44 проекта. Модули секции proper поддерживаются в рабочем состоянии, и обновляются, сохраняя свои интерфейсы насколько возможно неизменными, чтобы не создавать проблемы существующим пользователям. Секция sanbox предназначена для создания новых проектов и подготовки их к включению в секцию proper или в другие проекты apache. На момент 2012 года секция sandbox включала 16 проектов. Доступ для внесения изменений в проекты этой секции открыт для всех зарегистрированных участников Apache. В секцию Dormant переводят старые проекты, в которых была замечена слишком низкая активность по внесениям изменений, и которые Apache не планирует в будущем обновлять. На момент 2012 года туда было включено 15 проектов.
Пояснения к таблице:
Название | Сайт | Статус | Первый релиз | Полное название и назначение |
---|---|---|---|---|
Attributes | [1] | proper | 2004-08-15, v2.1[10] | Поддержка атрибутов в стиле C#/.Net |
BCEL | [2] | proper | 2001-12-12, v5.0[11] | Byte Code Engineering Library. Манипуляция java-классами |
BeanUtils | [3] | proper | 2001-07-14, v1.0[12] | Удобные для использования обертки над пакетами java.lang.reflect и java.beans (API для отражения и самодиагностики) |
Betwixt | [4] | proper | нет | Связывание JavaBeans с XML-документами |
BSF | [5] | proper | 2006-10-06, v2.4.0[13] | Bean Scripting Framework. Интерфейс для скриптовых языков |
Chain | [6] | proper | 2004-12-09, v1.0[14] | Реализация паттерна Цепочка обязанностей |
CLI | [7] | proper | 2002-11-06, v1.0[15] | Command Line Interface. Парсер аргументов командной строки |
Codec | [8] | proper | 2003-05-11, v1.1[16] | Кодирование и декодирование алгоритмов, таких как Base64, Hex, Phonetic; и URL. |
Collections | [9] | proper | 2002-04-05, v2.0[17] | Расширение и дополнение Java Collections Framework. |
Compress | [10] | proper | 2010-08-24, v1.1[18] | API для работы с файлами ar, cpio, Unix dump, tar, zip, gzip, XZ, Pack200 и bzip2. |
Configuration | [11] | proper | 2004-10-11, v1.0[19] | Чтение файлов конфигурации и настроек различных форматов |
CSV | [12] | proper | планируется v1.0[20] | Чтение и запись файлов табличных данных формата CSV (от англ. Comma-Separated Values — значения, разделенные запятыми). |
Daemon | [13] | proper | 2004-01-13, v1.0[21] | API для создания сервисов на платформе WIN32 и демонов на платформе UNIX |
DBCP | [14] | proper | 2002-08-12, v1.0[22] | Database connection pooling services. Создание пула соединений к базе данных, в котором каждое соединение может последовательно обслуживать множество клиентов. |
DbUtils | [15] | proper | 2003-11-11, v1.0[23] | Обёртка над пакетом Java JDBC для упрощения кода. |
Digester | [16] | proper | 2002-01-12, v1.2[24] | Обработка файлов конфигурации формата xml, построение дерева объектов на основе структуры xml. Надстройка над парсером xml SAX. |
Discovery | [17] | proper | нет | Обнаружение реализаций для подключаемых интерфейсов (т.е. нахождение классов по заданному Java-интерфейсу). |
EL | [18] | proper | 2003-06-20, v1.0[25] | Интерпретатор JSP 2.0 Expression Language (Язык Выражений). |
[19] | proper | 2005-09-27, v1.0[26] | API для отправки электронной почты. | |
Exec | [20] | proper | 2009-03-26, v1.0[27] | Исполнение внешних процессов из приложения Java и работа с переменными окружения. |
FileUpload | [21] | proper | 2003-06-24, v1.0[28][29] | Пересылка файлов на сервер через веб-приложение, парсинг HTTP-заголовков, соответствующих RFC 1867. |
Functor | [22] | proper | нет[30] | Объект-функция, для использования в паттернах Посетитель, Стратегия, Цепочка обязанностей и др. |
Imaging (Sanselan) | [23] | proper | нет | Библиотека для работы с изображениями |
IO | [24] | proper | 2004-05-13, v1.0[31][32] | Утилиты ввода/вывода |
JCI | [25] | proper | 2007-06-18, v1.0[33][34] | Java Compiler Interface. Интерфейс компилятора Java. Используется для компилирования Java из Java-приложений. |
JCS | [26] | proper | 2007-06-05, v1.3[35][36][37] | Java Caching System. Кэширование данных различной природы для ускорения приложений. |
Jelly | [27] | proper | 2005-06-16, v1.0[38] | Скриптовый механизм, основанный на XML. Превращение XML в исполняемый код. |
Jexl | [28] | proper | 2004-09-07, v1.0[39] | Java Expression Language. Язык выражений, расширяющий язык JSTL. Синтаксис похож на ECMAScript и shell-script. |
JXPath | [29] | proper | 2002-06-25, v1.0[40] | Интерпретатор языка выражений XPath. Манипулирование классами JavaBeans. |
Lang | [30] | proper | 2002-10-04, v1.0[41][42][43] | Дополнительная функциональность, расширяющая java.lang |
Launcher | [31] | proper | 2004-08-22 v1.1[44][45] | Кроссплатформенный стартер приложений |
Logging | [32] | proper | 2002-08-13, v1.0.1[46][47] | Обёртка над множеством реализаций логирования. Тонкий мост между приложением и библиотекой логирования. |
Apache jakarta commons, jakarta commons cookbook by timothy o brein pdf, timothy m o\u0027brien jakarta commons cookbook.
Версальский мир, Шаблон:Фильмы Ярополка Лапшина, Дети кукурузы 2: Последняя жертва, Файл:White army departure.jpg, Обсуждение шаблона:Навигация для категорий.