Knowledge (XXG)

Apache Maven

Source 📝

893: 1440: 121: 77: 286: 2287: 27: 487: 323:- October 2010 - remains mostly backwards compatible with Maven 2 projects. Changes included re-working core Project Builder and support for parallel builds. The re-working of the core decoupled file-based and in-memory representation and allowed add-ons to leverage non-XML based project definition files. Languages suggested include 876:
Some built-in features of IDEs are forfeited when the IDE no longer performs compilation. For example, Eclipse's JDT has the ability to recompile a single Java source file after it has been edited. Many IDEs work with a flat set of projects instead of the hierarchy of folders preferred by Maven. This
599:
Larger projects should be divided into several modules, or sub-projects, each with its own POM. One can then write a root POM through which one can compile all the modules with a single command. POMs can also inherit configuration from other POMs. All POMs inherit from the Super POM by default. The
800:
The fundamental difference between Maven and Ant is that Maven's design regards all projects as having a certain structure and a set of supported task work-flows (e.g., getting resources from source control, compiling the project, unit testing, etc.). While most software projects in effect support
569:
Using Maven, the user provides only configuration for the project, while the configurable plug-ins do the actual work of compiling the project, cleaning target directories, running unit tests, generating API documentation and so on. In general, users should not have to write plugins themselves.
657:
Plugins are the primary way to extend Maven. Developing a Maven plugin can be done by extending the org.apache.maven.plugin.AbstractMojo class. Example code and explanation for a Maven plugin to create a cloud-based virtual machine running an application server is given in the article
811:
Projects developed on a single machine can depend on each other through the local repository. The local repository is a simple folder structure that acts both as a cache for downloaded dependencies and as a centralized storage place for locally built artifacts. The Maven command
828:
targeting the Java programming language exist to provide integration of Maven with the IDE's build mechanism and source editing tools, allowing Maven to compile projects from within the IDE, and also to set the classpath for code completion, highlighting compiler errors, etc.
785:. Maven's dependency-handling mechanism is organized around a coordinate system identifying individual artifacts such as software libraries or modules. The POM example above references the JUnit coordinates as a direct dependency of the project. A project that needs, say, the 591:
A Project Object Model (POM) provides all the configuration for a single project. General configuration covers the project's name, its owner and its dependencies on other projects. One can also configure individual phases of the build process, which are implemented as
765:
Maven also has standard phases for cleaning the project and for generating a project site. If cleaning were part of the default lifecycle, the project would be cleaned every time it was built. This is clearly undesirable, so cleaning has been given its own lifecycle.
773:. By default, Maven packages the POM file in generated JAR and WAR files. Tools like diet4j can use this information to recursively resolve and run Maven modules at run-time without requiring an "uber"-jar that contains all project code. 801:
these operations and actually do have a well-defined structure, Maven requires that this structure and the operation implementation details be defined in the POM file. Thus, Maven
789:
library simply has to declare Hibernate's project coordinates in its POM. Maven will automatically download the dependency and the dependencies that Hibernate itself needs (called
1467: 1165: 634:
However, it would be cumbersome if the archetypal build sequence of building, testing and packaging a software project required running each respective goal manually:
808:
There are search engines such as The Central Repository Search Engine, which can be used to find out coordinates for different open-source libraries and frameworks.
236:
libraries and Maven plug-ins from one or more repositories such as the Maven 2 Central Repository, and stores them in a local cache. This local cache of downloaded
596:. For example, one can configure the compiler-plugin to use Java version 1.5 for compilation, or specify packaging the project even if some unit tests fail. 2323: 816:
builds a project and places its binaries in the local repository. Then, other projects can utilize this project by specifying its coordinates in their POMs.
2333: 232:. It comes with pre-defined targets for performing certain well-defined tasks such as compilation of code and its packaging. Maven dynamically downloads 228:
file describes the software project being built, its dependencies on other external modules and components, the build order, directories, and required
2120: 769:
Standard lifecycles enable users new to a project the ability to accurately build, test and install every Maven project by issuing the single command
1220: 873:
These add-ons also provide the ability to edit the POM or use the POM to determine a project's complete set of dependencies directly within the IDE.
1460: 335:. The parallel build feature leverages a configurable number of cores on a multi-core machine and especially suited for large multi-module projects. 797:
is used by default to search for libraries, but one can configure the repositories to be used (e.g., company-private repositories) within the POM.
1377: 1355: 898: 2291: 1453: 1137: 825: 243:
Maven is built using a plugin-based architecture that allows it to make use of any application controllable through standard input. A
1415: 1395: 1304: 926: 878: 2318: 1169: 782: 237: 1476: 206: 194: 39: 2063: 802: 473: 332: 1245: 1202: 202: 100: 1075: 722:
Goals provided by plugins can be associated with different phases of the lifecycle. For example, by default, the goal
324: 233: 198: 190: 134: 68: 1326: 298: 2328: 2313: 2068: 244: 1118: 1542: 1405: 1029: 975: 631:
file. Some basic plugins are included in every project by default, and they have sensible default settings.
623:
There are Maven plugins for building, testing, source control management, running a web server, generating
2083: 1224: 600:
Super POM provides default configuration, such as default source directories, default plugins, and so on.
2007: 790: 240:
can also be updated with artifacts created by local projects. Public repositories can also be updated.
805:
on how to define projects and on the list of work-flows that are generally supported in all projects.
627:
project files, and much more. Plugins are introduced and configured in a <plugins>-section of a
1369: 742:
command is executed, Maven runs all goals associated with each of the phases up to and including the
562:
will compile all the Java files, run any tests, and package the deliverable code and resources into
285: 1947: 609: 593: 229: 141: 674:
that can be used to give order to goal execution. One of Maven's three standard lifecycles is the
76: 1537: 1320: 1015: 921: 867: 836: 624: 616:. For example, a Java project can be compiled with the compiler-plugin's compile-goal by running 274: 158: 542:
Contains the testing Java sourcecode (JUnit or TestNG test cases, for example) for the project.
1102:
Marbaise, Brett Porter Jason van Zyl Dennis Lundberg Olivier Lamy Benson Margulies Karl-Heinz.
379:<!-- project coordinates, i.e. a group of values which uniquely identify this project --> 1962: 1852: 1737: 1602: 1587: 1567: 1411: 1391: 1373: 1351: 1343: 1300: 916: 480: 270:, a dedicated dependency manager was developed as well that also supports Maven repositories. 2171: 2045: 2002: 1992: 1692: 1652: 1637: 1592: 1001: 906: 786: 186: 153: 950: 2206: 2201: 2181: 2037: 2017: 1977: 1972: 1967: 1952: 1907: 1682: 1572: 1502: 1497: 1492: 1347: 1336: 1088: 575: 210: 1047: 224:, it uses conventions for the build procedure. Only exceptions need to be specified. An 120: 2272: 2246: 2241: 2196: 2156: 2099: 2073: 2055: 1872: 1867: 1847: 1842: 1837: 1797: 1722: 1617: 1612: 1597: 1577: 1507: 1439: 1274: 931: 294: 259: 217: 2307: 2231: 2186: 2161: 2032: 2022: 1997: 1982: 1957: 1902: 1862: 1802: 1777: 1772: 1752: 1732: 1727: 1702: 1687: 1622: 1607: 1517: 1512: 846: 2226: 2211: 2166: 2115: 2078: 2027: 1942: 1937: 1927: 1922: 1917: 1912: 1892: 1887: 1832: 1827: 1817: 1767: 1757: 1742: 1712: 1707: 1672: 1667: 1657: 1647: 1642: 1632: 1582: 1557: 1532: 1527: 911: 469: 468:
library. However, that is already enough for building the project and running the
1445: 1294: 2251: 2191: 2146: 1987: 1932: 1897: 1807: 1787: 1762: 1747: 1717: 1697: 1662: 1562: 1552: 1547: 578:, in which one writes imperative procedures for doing the aforementioned tasks. 26: 1206: 2256: 2216: 2176: 2125: 1882: 1877: 1857: 1677: 1627: 1522: 1249: 1103: 888: 856: 571: 472:
associated with the project. Maven accomplishes this by embracing the idea of
267: 221: 146: 34: 1030:"Reproducible/Verifiable Builds - Apache Maven - Apache Software Foundation" 862: 532:
Contains the deliverable resources for the project, such as property files.
317:- October 2005 - after about six months in beta cycles (now at end of life). 612:. A plugin provides a set of goals that can be executed using the command 476:, that is, Maven provides default values for the project's configuration. 1812: 1792: 851: 841: 293:
Maven was created by Jason van Zyl in 2002 and began as a sub-project of
193:
projects. Maven can also be used to build and manage projects written in
289:
The number of artifacts on Maven's central repository has grown rapidly
678:, which includes the following phases, performed in the order listed: 486: 255: 1152:"diet4j - put Java JARs on a diet, and load maven modules as needed" 1064: 832:
Examples of popular IDEs supporting development with Maven include:
311:- July 2004 - first critical milestone release (now at end of life). 248: 2236: 2151: 2130: 1822: 485: 465: 284: 216:
Maven addresses two aspects of building software: how software is
109: 979: 2221: 2012: 490:
A directory structure for a Java project auto-generated by Maven
328: 1449: 1119:"Automate development and management of cloud virtual machines" 369:<!-- model version is always 4.0.0 for Maven 2.x POMs --> 263: 225: 660:
Automate development and management of cloud virtual machines
1433: 1299:. Sonatype Company. O'Reilly Media, Inc. 2009. p. 470. 1190: 794: 566:(assuming the artifactId is my-app and the version is 1.0.) 522:
Contains the deliverable Java source code for the project.
169: 793:) and store them in the user's local repository. Maven 2 460:
This POM defines a unique identifier for the project (
205:, and other languages. The Maven project is hosted by 1151: 2265: 2139: 2108: 2092: 2054: 1483: 483:Maven project has the following directory entries: 412:
The scope is 'test' to indicate the library
341:- currently in alpha development (as of late 2023). 266:, but keep the key concepts Maven introduced. With 164: 152: 140: 130: 99: 67: 45: 33: 1335: 327:(already in private prototype by Jason van Zyl), 220:and its dependencies. Unlike earlier tools like 1117:Amies, Alex; Zou P X; Wang Yi S (29 Oct 2011). 654:Maven's lifecycle concept handles this issue. 409:<!-- The coordinates of a required library. 1461: 1138:"Maven – Introduction to the Build Lifecycle" 1089:"Apache Maven Compiler Plugin – Introduction" 16:Software tool for managing build dependencies 8: 970: 968: 297:. In 2003 Maven was accepted as a top level 19: 1468: 1454: 1446: 1438: 1048:"Reproducible Builds in Java - DZone Java" 552:Contains resources necessary for testing. 119: 75: 25: 18: 826:integrated development environments (IDE) 351: 251:native plugin is maintained for Maven 2. 493: 951:"Release Notes - Maven - Version 3.9.9" 942: 670:The build lifecycle is a list of named 1318: 1203:"maven.apache.org/eclipse-plugin.html" 758:, and so on until it finally runs the 746:phase. In such a case, Maven runs the 415:is only used for running tests. --> 350:Maven projects are configured using a 1016:"IBiblio Resolver | Apache Ivy™" 7: 1246:"MavenBestPractices - NetBeans Wiki" 1191:The Central Repository Search Engine 899:Free and open-source software portal 608:Most of Maven's functionality is in 479:The directory structure of a normal 209:, where it was formerly part of the 2324:Apache Software Foundation projects 1364:"Running JUnit tests from Maven2". 403:<!-- library dependencies --> 881:systems in IDEs when using Maven. 14: 2334:Software using the Apache license 927:List of build automation software 464:) and a single dependency on the 2286: 2285: 1221:"IntelliJ IDEA :: Features" 891: 1390:. Packt. 2013. pp. 1–250. 1275:"Maven: The Complete Reference" 1166:"Maven: The Complete Reference" 1477:The Apache Software Foundation 1002:"MojoHaus Native Maven Plugin" 781:A central feature in Maven is 262:as build tools do not rely on 254:Alternative technologies like 207:The Apache Software Foundation 40:The Apache Software Foundation 1: 1334:Van Zyl, Jason (2008-10-01), 474:Convention over Configuration 273:Apache Maven has support for 1410:. Packt. 2014. p. 298. 1296:Maven: The Definitive Guide 1104:"Maven – Available Plugins" 824:Add-ons to several popular 2350: 1372:. 2011. pp. 152–168. 1273:O'Brien, Tim; et al. 1168:. Sonatype. Archived from 352:Project Object Model (POM) 299:Apache Software Foundation 2281: 1388:Maven Build Customization 750:goal associated with the 95: 63: 24: 1407:Mastering Apache Maven 3 512:and all subdirectories. 363: 189:tool used primarily for 1338:Maven: Definitive Guide 877:complicates the use of 791:transitive dependencies 734:is associated with the 726:is associated with the 2319:Java development tools 1325:: CS1 maint: others ( 803:relies on a convention 730:phase, while the goal 703:process-test-resources 491: 290: 51:; 20 years ago 783:dependency management 564:target/my-app-1.0.jar 489: 452:</dependencies> 376:</modelVersion> 288: 82:; 35 days ago 1370:Manning Publications 700:process-test-sources 639:mvn compiler:compile 618:mvn compiler:compile 587:Project Object Model 430:junit-jupiter-engine 406:<dependencies> 372:<modelVersion> 976:"Index of /maven2/" 748:resources:resources 570:Contrast this with 449:</dependency> 432:</artifactId> 393:</artifactId> 275:reproducible builds 21: 1538:Apache HTTP Server 1342:(first ed.), 1123:IBM DeveloperWorks 1000:Laugstol, Trygve. 868:Visual Studio Code 795:Central Repository 691:generate-resources 548:src/test/resources 528:src/main/resources 492: 428:<artifactId> 418:<dependency> 389:<artifactId> 291: 159:Apache License 2.0 2301: 2300: 1379:978-1-935182-02-3 1357:978-0-596-51733-5 1087:Punzalan, Edwin. 752:process-resources 694:process-resources 676:default lifecycle 644:mvn surefire:test 556: 555: 423:org.junit.jupiter 384:com.mycompany.app 304:Version history: 180: 179: 49:13 July 2004 2341: 2329:Build automation 2289: 2288: 1470: 1463: 1456: 1447: 1442: 1437: 1436: 1434:Official website 1421: 1401: 1383: 1368:(2nd ed.). 1360: 1341: 1330: 1324: 1316: 1314: 1313: 1290: 1288: 1286: 1261: 1260: 1258: 1257: 1248:. Archived from 1242: 1236: 1235: 1233: 1232: 1223:. Archived from 1217: 1211: 1210: 1205:. Archived from 1199: 1193: 1188: 1182: 1181: 1179: 1177: 1172:on 21 April 2013 1162: 1156: 1155: 1148: 1142: 1141: 1133: 1127: 1126: 1114: 1108: 1107: 1099: 1093: 1092: 1084: 1078: 1073: 1067: 1062: 1056: 1055: 1044: 1038: 1037: 1034:cwiki.apache.org 1026: 1020: 1019: 1012: 1006: 1005: 997: 991: 990: 988: 987: 978:. Archived from 972: 963: 962: 960: 958: 953:. 18 August 2024 947: 907:Apache Continuum 901: 896: 895: 894: 859:(version 11.1.2) 820:Interoperability 815: 772: 761: 757: 756:compiler:compile 753: 749: 745: 741: 738:phase. When the 737: 733: 729: 725: 724:compiler:compile 685:generate-sources 666:Build lifecycles 650: 645: 640: 630: 619: 615: 565: 561: 549: 539: 529: 519: 511: 494: 456: 455:</project> 453: 450: 447: 443: 440: 439:</version> 436: 433: 429: 426: 425:</groupId> 422: 419: 416: 413: 410: 407: 404: 401: 400:</version> 397: 394: 390: 387: 386:</groupId> 383: 380: 377: 373: 370: 367: 357: 187:build automation 176: 173: 171: 123: 118: 115: 113: 111: 90: 88: 83: 80:/ 18 August 2024 79: 59: 57: 52: 29: 22: 2349: 2348: 2344: 2343: 2342: 2340: 2339: 2338: 2314:Compiling tools 2304: 2303: 2302: 2297: 2277: 2261: 2135: 2104: 2088: 2050: 1485: 1479: 1474: 1432: 1431: 1428: 1418: 1404: 1398: 1386: 1380: 1366:JUnit in Action 1363: 1358: 1333: 1317: 1311: 1309: 1307: 1293: 1284: 1282: 1272: 1269: 1267:Further reading 1264: 1255: 1253: 1244: 1243: 1239: 1230: 1228: 1219: 1218: 1214: 1209:on May 7, 2015. 1201: 1200: 1196: 1189: 1185: 1175: 1173: 1164: 1163: 1159: 1150: 1149: 1145: 1136:Porter, Brett. 1135: 1134: 1130: 1116: 1115: 1111: 1101: 1100: 1096: 1086: 1085: 1081: 1074: 1070: 1063: 1059: 1046: 1045: 1041: 1028: 1027: 1023: 1014: 1013: 1009: 999: 998: 994: 985: 983: 974: 973: 966: 956: 954: 949: 948: 944: 940: 897: 892: 890: 887: 822: 813: 779: 770: 759: 755: 751: 747: 743: 739: 735: 731: 727: 723: 688:process-sources 668: 648: 643: 638: 628: 617: 613: 606: 589: 584: 563: 559: 547: 537: 527: 517: 509: 497:Directory name 458: 457: 454: 451: 448: 445: 441: 438: 435:<version> 434: 431: 427: 424: 421:<groupId> 420: 417: 414: 411: 408: 405: 402: 399: 396:<version> 395: 392: 388: 385: 382:<groupId> 381: 378: 375: 371: 368: 366:<project> 365: 355: 348: 283: 211:Jakarta Project 168: 126: 108: 91: 86: 84: 81: 55: 53: 50: 46:Initial release 17: 12: 11: 5: 2347: 2345: 2337: 2336: 2331: 2326: 2321: 2316: 2306: 2305: 2299: 2298: 2296: 2295: 2282: 2279: 2278: 2276: 2275: 2273:Apache License 2269: 2267: 2263: 2262: 2260: 2259: 2254: 2249: 2244: 2239: 2234: 2229: 2224: 2219: 2214: 2209: 2204: 2199: 2194: 2189: 2184: 2179: 2174: 2169: 2164: 2159: 2154: 2149: 2143: 2141: 2137: 2136: 2134: 2133: 2128: 2123: 2118: 2112: 2110: 2109:Other projects 2106: 2105: 2103: 2102: 2096: 2094: 2090: 2089: 2087: 2086: 2081: 2076: 2071: 2066: 2060: 2058: 2052: 2051: 2049: 2048: 2043: 2040: 2035: 2030: 2025: 2020: 2015: 2010: 2008:Traffic Server 2005: 2000: 1995: 1990: 1985: 1980: 1975: 1970: 1965: 1960: 1955: 1950: 1945: 1940: 1935: 1930: 1925: 1920: 1915: 1910: 1905: 1900: 1895: 1890: 1885: 1880: 1875: 1870: 1865: 1860: 1855: 1850: 1845: 1840: 1835: 1830: 1825: 1820: 1815: 1810: 1805: 1800: 1795: 1790: 1785: 1780: 1775: 1770: 1765: 1760: 1755: 1750: 1745: 1740: 1735: 1730: 1725: 1720: 1715: 1710: 1705: 1700: 1695: 1690: 1685: 1680: 1675: 1670: 1665: 1660: 1655: 1650: 1645: 1640: 1635: 1630: 1625: 1620: 1615: 1610: 1605: 1600: 1595: 1590: 1585: 1580: 1575: 1570: 1565: 1560: 1555: 1550: 1545: 1540: 1535: 1530: 1525: 1520: 1515: 1510: 1505: 1500: 1495: 1489: 1487: 1481: 1480: 1475: 1473: 1472: 1465: 1458: 1450: 1444: 1443: 1427: 1426:External links 1424: 1423: 1422: 1416: 1402: 1396: 1384: 1378: 1361: 1356: 1344:O'Reilly Media 1331: 1305: 1291: 1268: 1265: 1263: 1262: 1237: 1212: 1194: 1183: 1157: 1143: 1128: 1109: 1094: 1079: 1068: 1057: 1039: 1021: 1007: 992: 964: 941: 939: 936: 935: 934: 932:Sonatype Nexus 929: 924: 919: 914: 909: 903: 902: 886: 883: 871: 870: 865: 860: 854: 849: 844: 839: 821: 818: 778: 775: 720: 719: 716: 713: 710: 707: 704: 701: 698: 695: 692: 689: 686: 683: 667: 664: 652: 651: 646: 641: 605: 602: 588: 585: 583: 580: 554: 553: 550: 544: 543: 540: 534: 533: 530: 524: 523: 520: 514: 513: 506: 502: 501: 498: 446:</scope> 364: 361:Example file: 347: 344: 343: 342: 336: 318: 312: 295:Apache Turbine 282: 279: 178: 177: 166: 162: 161: 156: 150: 149: 144: 138: 137: 132: 128: 127: 125: 124: 105: 103: 97: 96: 93: 92: 87:18 August 2024 73: 71: 69:Stable release 65: 64: 61: 60: 47: 43: 42: 37: 31: 30: 15: 13: 10: 9: 6: 4: 3: 2: 2346: 2335: 2332: 2330: 2327: 2325: 2322: 2320: 2317: 2315: 2312: 2311: 2309: 2294: 2293: 2284: 2283: 2280: 2274: 2271: 2270: 2268: 2264: 2258: 2255: 2253: 2250: 2248: 2245: 2243: 2240: 2238: 2235: 2233: 2230: 2228: 2225: 2223: 2220: 2218: 2215: 2213: 2210: 2208: 2205: 2203: 2200: 2198: 2195: 2193: 2190: 2188: 2185: 2183: 2180: 2178: 2175: 2173: 2170: 2168: 2165: 2163: 2160: 2158: 2155: 2153: 2150: 2148: 2145: 2144: 2142: 2138: 2132: 2129: 2127: 2124: 2122: 2119: 2117: 2114: 2113: 2111: 2107: 2101: 2098: 2097: 2095: 2091: 2085: 2082: 2080: 2077: 2075: 2072: 2070: 2067: 2065: 2062: 2061: 2059: 2057: 2053: 2047: 2044: 2041: 2039: 2036: 2034: 2031: 2029: 2026: 2024: 2021: 2019: 2016: 2014: 2011: 2009: 2006: 2004: 2001: 1999: 1996: 1994: 1991: 1989: 1986: 1984: 1981: 1979: 1976: 1974: 1971: 1969: 1966: 1964: 1961: 1959: 1956: 1954: 1951: 1949: 1946: 1944: 1941: 1939: 1936: 1934: 1931: 1929: 1926: 1924: 1921: 1919: 1916: 1914: 1911: 1909: 1906: 1904: 1901: 1899: 1896: 1894: 1891: 1889: 1886: 1884: 1881: 1879: 1876: 1874: 1871: 1869: 1866: 1864: 1861: 1859: 1856: 1854: 1851: 1849: 1846: 1844: 1841: 1839: 1836: 1834: 1831: 1829: 1826: 1824: 1821: 1819: 1816: 1814: 1811: 1809: 1806: 1804: 1801: 1799: 1796: 1794: 1791: 1789: 1786: 1784: 1781: 1779: 1776: 1774: 1771: 1769: 1766: 1764: 1761: 1759: 1756: 1754: 1751: 1749: 1746: 1744: 1741: 1739: 1736: 1734: 1731: 1729: 1726: 1724: 1721: 1719: 1716: 1714: 1711: 1709: 1706: 1704: 1701: 1699: 1696: 1694: 1691: 1689: 1686: 1684: 1681: 1679: 1676: 1674: 1671: 1669: 1666: 1664: 1661: 1659: 1656: 1654: 1651: 1649: 1646: 1644: 1641: 1639: 1636: 1634: 1631: 1629: 1626: 1624: 1621: 1619: 1616: 1614: 1611: 1609: 1606: 1604: 1601: 1599: 1596: 1594: 1591: 1589: 1586: 1584: 1581: 1579: 1576: 1574: 1571: 1569: 1566: 1564: 1561: 1559: 1556: 1554: 1551: 1549: 1546: 1544: 1541: 1539: 1536: 1534: 1531: 1529: 1526: 1524: 1521: 1519: 1516: 1514: 1511: 1509: 1506: 1504: 1501: 1499: 1496: 1494: 1491: 1490: 1488: 1482: 1478: 1471: 1466: 1464: 1459: 1457: 1452: 1451: 1448: 1441: 1435: 1430: 1429: 1425: 1419: 1417:9781783983865 1413: 1409: 1408: 1403: 1399: 1397:9781783987221 1393: 1389: 1385: 1381: 1375: 1371: 1367: 1362: 1359: 1353: 1349: 1345: 1340: 1339: 1332: 1328: 1322: 1308: 1306:9780596551780 1302: 1298: 1297: 1292: 1280: 1276: 1271: 1270: 1266: 1252:on 2018-01-14 1251: 1247: 1241: 1238: 1227:on 2015-05-24 1226: 1222: 1216: 1213: 1208: 1204: 1198: 1195: 1192: 1187: 1184: 1171: 1167: 1161: 1158: 1153: 1147: 1144: 1139: 1132: 1129: 1124: 1120: 1113: 1110: 1105: 1098: 1095: 1090: 1083: 1080: 1077: 1072: 1069: 1066: 1065:POM Reference 1061: 1058: 1053: 1049: 1043: 1040: 1035: 1031: 1025: 1022: 1017: 1011: 1008: 1003: 996: 993: 982:on 2018-09-17 981: 977: 971: 969: 965: 952: 946: 943: 937: 933: 930: 928: 925: 923: 920: 918: 915: 913: 910: 908: 905: 904: 900: 889: 884: 882: 880: 874: 869: 866: 864: 861: 858: 855: 853: 850: 848: 847:IntelliJ IDEA 845: 843: 840: 838: 835: 834: 833: 830: 827: 819: 817: 809: 806: 804: 798: 796: 792: 788: 784: 776: 774: 767: 763: 760:surefire:test 732:surefire:test 717: 714: 711: 708: 705: 702: 699: 696: 693: 690: 687: 684: 681: 680: 679: 677: 673: 665: 663: 661: 655: 647: 642: 637: 636: 635: 632: 626: 621: 611: 603: 601: 597: 595: 586: 581: 579: 577: 573: 567: 551: 546: 545: 541: 538:src/test/java 536: 535: 531: 526: 525: 521: 518:src/main/java 516: 515: 508:Contains the 507: 505:project home 504: 503: 499: 496: 495: 488: 484: 482: 477: 475: 471: 467: 463: 442:<scope> 362: 359: 353: 345: 340: 337: 334: 330: 326: 322: 319: 316: 313: 310: 307: 306: 305: 302: 300: 296: 287: 280: 278: 276: 271: 269: 265: 261: 257: 252: 250: 246: 241: 239: 235: 231: 227: 223: 219: 214: 212: 208: 204: 200: 196: 192: 188: 184: 175: 167: 163: 160: 157: 155: 151: 148: 145: 143: 139: 136: 133: 129: 122: 117: 107: 106: 104: 102: 98: 94: 78: 72: 70: 66: 62: 48: 44: 41: 38: 36: 32: 28: 23: 2290: 1948:SpamAssassin 1782: 1406: 1387: 1365: 1337: 1310:. Retrieved 1295: 1283:. Retrieved 1279:Sonatype.com 1278: 1254:. Retrieved 1250:the original 1240: 1229:. Retrieved 1225:the original 1215: 1207:the original 1197: 1186: 1174:. Retrieved 1170:the original 1160: 1146: 1131: 1122: 1112: 1097: 1082: 1071: 1060: 1051: 1042: 1033: 1024: 1010: 995: 984:. Retrieved 980:the original 955:. Retrieved 945: 912:Apache Jelly 875: 872: 831: 823: 810: 807: 799: 780: 777:Dependencies 768: 764: 754:phase, then 721: 706:test-compile 675: 671: 669: 659: 656: 653: 633: 622: 607: 598: 590: 568: 558:The command 557: 478: 461: 459: 360: 349: 338: 320: 314: 308: 303: 292: 272: 253: 242: 215: 182: 181: 35:Developer(s) 20:Apache Maven 1346:, pp.  957:5 September 814:mvn install 771:mvn install 649:mvn jar:jar 560:mvn package 462:coordinates 74:3.9.9  2308:Categories 2177:Deltacloud 1963:Subversion 1853:OрenOffice 1738:Jackrabbit 1678:FreeMarker 1603:CloudStack 1588:CarbonData 1568:Bloodhound 1312:2013-04-17 1281:. Sonatype 1256:2009-09-02 1231:2009-09-02 986:2009-04-15 938:References 857:JDeveloper 470:unit tests 268:Apache Ivy 222:Apache Ant 147:Build tool 131:Written in 101:Repository 56:2004-07-13 2172:Continuum 2093:Incubator 2046:ZooKeeper 2003:Trafodion 1993:TinkerPop 1693:Guacamole 1653:Empire-db 1638:Directory 1593:Cassandra 1484:Top-level 1321:cite book 1076:Super POM 1052:dzone.com 863:MyEclipse 787:Hibernate 481:idiomatic 339:Version 4 321:Version 3 315:Version 2 309:Version 1 301:project. 238:artifacts 2292:Category 2266:Licenses 2207:Marmotta 2038:XMLBeans 2018:Velocity 1978:Tapestry 1973:SystemDS 1968:Superset 1958:Struts 2 1953:Struts 1 1908:RocketMQ 1813:NetBeans 1793:mod_perl 1683:Geronimo 1573:Brooklyn 1503:Airavata 1498:ActiveMQ 1493:Accumulo 1486:projects 1285:15 March 1176:11 April 885:See also 852:JBuilder 842:NetBeans 740:mvn test 682:validate 610:plug-ins 604:Plug-ins 500:Purpose 230:plug-ins 2247:Tuscany 2242:Stanbol 2202:Jakarta 2197:Harmony 2157:Beehive 2100:Taverna 2084:Logging 2056:Commons 1873:Phoenix 1868:Parquet 1848:OpenNLP 1843:OpenJPA 1838:OpenEJB 1798:MyFaces 1723:Iceberg 1618:CouchDB 1613:Cordova 1598:Cayenne 1578:Calcite 1508:Airflow 922:Jenkins 837:Eclipse 728:compile 715:install 712:package 697:compile 629:pom.xml 625:Eclipse 594:plugins 510:pom.xml 356:pom.xml 281:History 172:.apache 165:Website 154:License 114:/apache 85: ( 54: ( 2187:Giraph 2162:iBATIS 2074:Daemon 2033:Xerces 2023:Wicket 1998:Tomcat 1983:Thrift 1903:Roller 1863:PDFBox 1803:Mynewt 1778:Mahout 1773:Lucene 1753:JMeter 1733:Impala 1728:Ignite 1703:Hadoop 1688:Groovy 1623:cTAKES 1608:Cocoon 1518:Ambari 1513:Allura 1414:  1394:  1376:  1354:  1303:  1125:. IBM. 917:Hudson 762:goal. 718:deploy 672:phases 582:Design 391:my-app 358:file. 346:Syntax 333:Groovy 331:, and 256:Gradle 116:/maven 110:github 2237:Sqoop 2232:Slide 2227:Shale 2222:River 2212:MXNet 2167:Click 2152:AxKit 2140:Attic 2131:Log4j 2116:Batik 2079:Jelly 2042:Yetus 2028:Xalan 1943:Storm 1938:Spark 1928:Sling 1923:SINGA 1918:Shiro 1913:Samza 1893:Pivot 1888:Pinot 1833:Oozie 1828:OFBiz 1823:NuttX 1818:Nutch 1783:Maven 1768:Kylin 1758:Kafka 1743:James 1713:Helix 1708:HBase 1673:Flume 1668:Flink 1658:Felix 1648:Druid 1643:Drill 1633:Derby 1583:Camel 1558:Axis2 1533:Arrow 1528:Aries 614:mvn : 466:JUnit 437:5.9.1 374:4.0.0 354:in a 218:built 203:Scala 185:is a 183:Maven 170:maven 2252:Wave 2192:Hama 2182:Etch 2147:Apex 2064:BCEL 2013:UIMA 1988:Tika 1933:Solr 1898:Qpid 1808:NiFi 1788:MINA 1763:Kudu 1748:Jena 1718:Hive 1698:Gump 1663:Flex 1563:Beam 1553:Axis 1548:Avro 1412:ISBN 1392:ISBN 1374:ISBN 1352:ISBN 1327:link 1301:ISBN 1287:2013 1178:2013 959:2024 744:test 736:test 709:test 576:make 574:and 444:test 329:YAML 325:Ruby 258:and 234:Java 199:Ruby 191:Java 174:.org 142:Type 135:Java 112:.com 2257:XML 2217:ODE 2126:Ivy 2121:FOP 2069:BSF 1883:Pig 1878:POI 1858:ORC 1628:CXF 1543:APR 1523:Ant 1348:468 879:SCM 572:Ant 398:1.0 264:XML 260:sbt 249:C++ 226:XML 2310:: 1350:, 1323:}} 1319:{{ 1277:. 1121:. 1050:. 1032:. 967:^ 662:. 620:. 277:. 213:. 201:, 197:, 195:C# 1469:e 1462:t 1455:v 1420:. 1400:. 1382:. 1329:) 1315:. 1289:. 1259:. 1234:. 1180:. 1154:. 1140:. 1106:. 1091:. 1054:. 1036:. 1018:. 1004:. 989:. 961:. 247:/ 245:C 89:) 58:)

Index


Developer(s)
The Apache Software Foundation
Stable release
Edit this on Wikidata
Repository
github.com/apache/maven
Edit this at Wikidata
Java
Type
Build tool
License
Apache License 2.0
maven.apache.org
build automation
Java
C#
Ruby
Scala
The Apache Software Foundation
Jakarta Project
built
Apache Ant
XML
plug-ins
Java
artifacts
C
C++
Gradle

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.