Apache Commons
Apache Commons är ett projekt av Apache Software Foundation , tidigare under Jakarta Project . Syftet med Commons är att tillhandahålla återanvändbar Java- programvara med öppen källkod . Commons består av tre delar: riktig, sandlåda och vilande.
Commons Egen
Commons Proper är tillägnad att skapa och underhålla återanvändbara Java- komponenter. Commons Proper är en plats för samarbete och delning, där utvecklare från hela Apache-gemenskapen kan arbeta tillsammans i projekt som ska delas av Apache-projekt och Apache-användare. Commons-utvecklare kommer att anstränga sig för att säkerställa att deras komponenter har minimalt beroende av andra programbibliotek , så att dessa komponenter kan distribueras enkelt. Dessutom kommer Commons-komponenter att hålla sina gränssnitt så stabila som möjligt, så att Apache-användare, såväl som andra Apache-projekt, kan implementera dessa komponenter utan att behöva oroa sig för förändringar i framtiden.
Komponenter | Beskrivning | Senaste versionen | Släppte |
---|---|---|---|
BCEL | Byte Code Engineering Library - analysera, skapa och manipulera Java-klassfiler | 6.7.0 | 2022-11-28 |
BeanUtils | Lättanvända omslag runt API:erna för Java-reflektion och introspektion. | 1.9.4 | 2019-06-12 |
BSF | Bean Scripting Framework - gränssnitt till skriptspråk, inklusive JSR-223 | 3.1 | 2011-08-17 |
Kedja | Implementering av Chain of Responsibility -mönster. | 1.2 | 2008-06-01 |
CLI | Kommandoradsargumentparser. | 1.5.0 | 2021-10-23 |
Codec | Allmänna kodnings-/avkodningsalgoritmer (till exempel fonetisk, base64, URL). | 1.15 | 2020-09-01 |
Samlingar | Utökar eller utökar Java Collections Framework. | 4.4 | 2019-07-05 |
Komprimera | Definierar ett API för att arbeta med tar-, zip- och bzip2-filer. | 1.22 | 2022-11-01 |
Konfiguration | Läsning av konfigurations-/preferensfiler i olika format. | 2.8.0 | 2022-07-05 |
Krypto | Ett kryptografiskt bibliotek optimerat med AES-NI-omslutning av Openssl- eller JCE-algoritmimplementeringar | 1.2.0 | 2023-01-14 |
CSV | Komponent för att läsa och skriva kommaseparerade värdefiler. | 1.10.0 | 2023-01-28 |
Demon | En generisk Daemon (unix) eller Service (Windows) omslag för Java-kod. | 1.3.2 | 2022-10-10 |
DBCP | Poolningstjänster för databasanslutningar. | 2.9.0 | 2021-07-30 |
DbUtils | JDBC-hjälparbibliotek. | 1.7 | 2017-07-20 |
Rötkammare | Mappningsverktyg för XML-till-Java-objekt. | 3.2 | 2011-12-13 |
E-post | Bibliotek för att skicka e-post från Java. | 1.5 | 2017-08-01 |
Exec | API för att hantera extern processexekvering och miljöhantering i Java. | 1.3 | 2014-11-06 |
Filuppladdning | Möjlighet att ladda upp filer för dina servlets och webbapplikationer. | 1.5 | 2023-02-13 |
Funktionär | En funktor är en funktion som kan manipuleras som ett objekt, eller ett objekt som representerar en enda generisk funktion. | 1.0 RC1 | 2011-10-20 |
Geometri | Allmänt bibliotek för geometrisk bearbetning. | 1.0 | 2021-08-21 |
Avbildning | Ett rent Java-bildbibliotek. | 1.0-alfa3 | 2022-05-13 |
IO | Samling av I/O-verktyg. | 2.11.0 | 2021-07-09 |
JCI | Java-kompilatorgränssnitt | 1.1 | 2013-10-14 |
JCS | Java Caching System | 3.1 | 2022-01-03 |
Gelé | XML-baserad skript- och bearbetningsmotor. | 1.0.1 | 2017-09-25 |
JEXL | Uttrycksspråk som utökar uttrycksspråket för JSTL. | 4.0-snapshot.4 | 2019-05-24 |
JXPath | Verktyg för att manipulera Java Beans med XPath-syntaxen. | 1.3 | 2008-08-11 |
Lang | Ger extra funktionalitet för klasser i java.lang. | 3.12.0 | 2021-02-26 |
Skogsavverkning | Omsluta en mängd olika loggnings-API-implementeringar. | 1.2 | 2014-07-09 |
Matematik | Lättvikts, fristående matematik- och statistikkomponenter. | 4.0-beta1 | 2022-12-20 |
Netto | Samling av nätverksverktyg och protokollimplementationer. | 3.9.0 | 2022-11-26 |
Tal | Taltyper (komplex, kvaternion, bråk) och verktyg (matriser, kombinatorik). | 1.1 | 2022-11-01 |
OGNL | Ett objekt-graf-navigeringsspråk | 4.0-inkubering | TBD |
Slå samman | Generisk objektpoolningskomponent. | 2.11.1 | 2021-08-17 |
Ombud | Bibliotek för att skapa dynamiska proxyservrar. | 2.0-RC1 | 2014-04-07 |
RDF | Gemensam implementering av RDF 1.1 som skulle kunna implementeras av system på JVM. | 0.5.0 | 2017-12-08 |
RNG | Commons RNG tillhandahåller implementeringar av pseudo-slumptalsgeneratorer. | 1.5 | 2022-09-10 |
SCXML | En implementering av State Chart XML-specifikationen som syftar till att skapa och underhålla en Java SCXML-motor. | 2,0-M1 | 2014-04-03 |
Statistik | Verktyg för statistiska tillämpningar. | 1.0 | 2022-12-05 |
Text | Ett bibliotek fokuserat på algoritmer som arbetar på strängar. | 1.10.0 | 2022-09-24 |
Validator | Ram för att definiera validatorer och valideringsregler i en xml-fil. | 1.7 | 2020-08-03 |
VFS | Virtuell filsystemkomponent för att behandla filer, FTP, SMB, ZIP och liknande som ett enda logiskt filsystem. | 2.9.0 | 2021-06-16 |
Vävare | Ger ett enkelt sätt att förbättra (väva) kompilerad bytekod. | 2.0 | 2018-09-07 |
Commons Sandbox
Commons Sandbox tillhandahåller en arbetsyta där Commons-bidragsgivare samarbetar och experimenterar med projekt som inte ingår i Commons Proper. Commons-medlemmar kämpar för projekt i Sandbox för marknadsföring till Commons Proper, och grupper av utvecklare arbetar för att förbättra Sandbox-projekt tills de uppfyller standarderna för marknadsföring.
Komponenter | Beskrivning |
---|---|
BeanUtils2 | Omdesign av Commons BeanUtils. |
ClassScan | Hitta klassgränssnitt, metoder, fält och kommentarer utan att ladda. |
CLI2 | Omdesign av Commons CLI. |
Konvertera | Commons-Convert syftar till att tillhandahålla ett enda bibliotek dedikerat till uppgiften att konvertera ett objekt av en typ till en annan. |
Upphittare | Java-bibliotek inspirerat av UNIX-kommandot hitta. |
Flatfil | Java-bibliotek för att arbeta med platta datastrukturer. |
Graf | En allmän graf API:er och algoritmer. |
I18n | Lägger till funktionen för lokaliserade meddelandepaket som består av en eller flera lokaliserade texter som hör ihop. |
Id | Id är en komponent som används för att generera identifierare. |
Injicera | Implementering av JSR 330, ett standardkompatibelt ramverk för beroendeinjektion |
Javaflow | Fortsatt implementering för att fånga applikationens tillstånd. |
JNet | JNet tillåter användning av dynamiskt registrerade url-strömhanterare via java.net API. |
Övervakning | Övervakning syftar till att tillhandahålla en enkel men utbyggbar övervakningslösning för Java-applikationer. |
Nabla | Nabla tillhandahåller automatiska differentieringsklasser som kan generera derivator av alla funktioner implementerade i Java-språket. |
ÖppnaPGP | Gränssnitt för att signera och verifiera data med OpenPGP. |
Prestanda | Ett litet ramverk för mikrobenchmark-klienter, med implementeringar för Commons DBCP och Pool. |
Rörledning | Tillhandahåller en uppsättning pipelineverktyg utformade kring arbetsköer som körs parallellt för att sekventiellt bearbeta dataobjekt. |
Commons vilande
Commons vilande är en samling komponenter som har förklarats inaktiva på grund av lite nyligen utvecklad aktivitet. Dessa komponenter får användas, men måste byggas själv. Det är bäst att anta att dessa komponenter inte kommer att släppas inom en snar framtid.
Komponenter | Beskrivning |
---|---|
Attribut | Runtime API till metadataattribut som doclet-taggar. |
Mellan | Tjänster för att mappa JavaBeans till XML-dokument och vice versa. |
Cache | Cache tillhandahåller objektcachetjänster. |
Clazz | Clazz fokuserar på introspektion och klassmanipulation. |
Avtal | Denna komponent gör alla trevliga funktioner tillgängliga för programmeringsspråket Java som följer med kontraktsbaserad programmering. |
Konvertera | Commons-Convert syftar till att tillhandahålla ett enda bibliotek dedikerat till uppgiften att konvertera ett objekt av en typ till en annan. |
Upptäckt | Verktyg för att lokalisera resurser genom att mappa tjänst-/referensnamn till resursnamn. |
EL | Tolk för det uttrycksspråk som definieras av JSP 2.0-specifikationen. |
evenemang | Commons-Events tillhandahåller ytterligare klasser för skjutning och hantering av händelser. Den fokuserar på Java Collections Framework, och tillhandahåller dekoratörer till andra samlingar som avfyrar evenemang. |
Feedparser | En Java RSS/Atom-parser designad för att elegant stödja alla större versioner av RSS och Atom, samt enkel ad hoc-förlängning och RSS 1.0-moduler. |
JJar | Jakarta JAR Archive Repository |
Latka | Commons-Latka är en funktionell HTTP-testsvit för automatiserad QA, acceptans och regressionstestning. |
Launcher | Java-applikationsstartare för flera plattformar. |
Kartläggare | Mapper är ett tunt abstraktionslager runt ett projekts valda datakartläggningsteknik (alias DAO-mönster). |
budbärare | Messenger är ett lättanvänt och lätt ramverk för att arbeta med JMS i webbnivån. |
Modellerare | Mekanismer för att skapa Model MBeans kompatibel med JMX-specifikationen. |
Primitiver | Mindre, snabbare och lättare att arbeta med typer som stöder Java primitiva typer. |
Resurser | Resurser tillhandahåller ett lätt ramverk för att definiera och slå upp internationaliserade meddelandesträngar med en java.util.Locale och en meddelandenyckel. |
Ställning | Scaffold är en verktygslåda för att bygga webbapplikationer. |
Trådpool | ThreadPool är en enkel komponent för att asynkront skicka arbete till en annan tråd i en pool för enkel flertrådsprogrammering. |
Transaktion | Implementeringar för flernivålås, transaktionssamlingar och transaktionsfilåtkomst. |
Arbetsflöde | Workflow tillhandahåller ett ramverk för att bygga arbetsflödeshanteringssystem. |
XMLIO | Enkel och snabb importör för XML-konfiguration eller importfiler. |
Se även
Goyal, Vikram (2003), Using the Jakarta Commons, del I , hämtad 13 augusti 2006