{"id":24704,"date":"2025-11-19T16:08:36","date_gmt":"2025-11-19T09:08:36","guid":{"rendered":"https:\/\/huongdanjava.com\/?p=24704"},"modified":"2025-11-21T08:29:47","modified_gmt":"2025-11-21T01:29:47","slug":"gioi-thieu-ve-apache-maven","status":"publish","type":"post","link":"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-apache-maven.html","title":{"rendered":"Gi\u1edbi thi\u1ec7u v\u1ec1 Apache Maven"},"content":{"rendered":"<p>Ng\u00e0y x\u01b0a, khi ch\u01b0a c\u00f3 Apache Maven, n\u1ebfu c\u00e1c b\u1ea1n l\u00e0m vi\u1ec7c v\u1edbi \u1ee9ng d\u1ee5ng Java c\u00f3 s\u1eed d\u1ee5ng c\u00e1c th\u01b0 vi\u1ec7n b\u00ean ngo\u00e0i, c\u00e1c b\u1ea1n ph\u1ea3i download manually c\u00e1c th\u01b0 vi\u1ec7n \u0111\u00f3 v\u00e0 add ch\u00fang v\u00e0o classpath \u0111\u1ec3 \u1ee9ng d\u1ee5ng c\u1ee7a ch\u00fang ta c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng \u0111\u01b0\u1ee3c. S\u1eed d\u1ee5ng Apache Maven th\u00ec c\u00e1c b\u1ea1n s\u1ebd kh\u00f4ng c\u1ea7n l\u00e0m manual nh\u01b0 v\u1eady n\u1eefa. Apache Maven l\u00e0 m\u1ed9t c\u00f4ng c\u1ee5 d\u00f9ng \u0111\u1ec3 download v\u00e0 qu\u1ea3n l\u00fd c\u00e1c th\u01b0 vi\u1ec7n (hay c\u00f2n g\u1ecdi l\u00e0 c\u00e1c dependencies) m\u00e0 \u1ee9ng d\u1ee5ng c\u1ee7a c\u00e1c b\u1ea1n \u0111ang c\u1ea7n s\u1eed d\u1ee5ng. Thay v\u00ec c\u00e1c b\u1ea1n ph\u1ea3i manual download t\u1eebng dependency nh\u01b0 tr\u01b0\u1edbc, c\u00e1c b\u1ea1n ch\u1ec9 c\u1ea7n khai b\u00e1o th\u00f4ng tin c\u1ee7a c\u00e1c dependencies v\u00e0 version c\u1ee7a ch\u00fang, Apache Maven s\u1ebd download t\u1ef1 \u0111\u1ed9ng cho ch\u00fang ta. Ngo\u00e0i ra th\u00ec Apache Maven c\u00f2n gi\u00fap ch\u00fang ta c\u00f3 th\u1ec3 automate vi\u1ec7c build source code (compile \u2192 test \u2192 package \u2192 deploy) n\u1eefa \u0111\u00f3 c\u00e1c b\u1ea1n. Trong b\u00e0i vi\u1ebft n\u00e0y, ch\u00fang ta s\u1ebd c\u00f9ng nhau t\u00ecm hi\u1ec3u nh\u1eefng ki\u1ebfn th\u1ee9c c\u01a1 b\u1ea3n v\u1ec1 Apache Maven c\u00e1c b\u1ea1n nh\u00e9!<\/p>\n<p>\u0110\u1ea7u ti\u00ean, \u0111\u1ec3 s\u1eed d\u1ee5ng Apache Maven, c\u00e1c b\u1ea1n h\u00e3y c\u00e0i \u0111\u1eb7t n\u00f3 tr\u01b0\u1edbc nh\u00e9! N\u1ebfu c\u00e1c b\u1ea1n \u0111ang s\u1eed d\u1ee5ng macOS th\u00ec c\u00f3 th\u1ec3 tham kh\u1ea3o <a href=\"https:\/\/huongdanjava.com\/vi\/cai-dat-apache-maven-macos.html\" target=\"_blank\" rel=\"noopener\">t\u1ea1i \u0111\u00e2y<\/a>.<\/p>\n<p>T\u1ea5t c\u1ea3 c\u00e1c Maven project \u0111\u1ec1u ph\u1ea3i c\u00f3 m\u1ed9t t\u1eadp tin t\u00ean l\u00e0 pom.xml. POM l\u00e0 vi\u1ebft t\u1eaft c\u1ee7a Project Object Model \u0111\u00f3 c\u00e1c b\u1ea1n!<\/p>\n<p>Khi c\u00e1c b\u1ea1n t\u1ea1o m\u1edbi m\u1ed9t Maven project s\u1eed d\u1ee5ng IntelliJ IDE ch\u1eb3ng h\u1ea1n, n\u1ed9i dung ban \u0111\u1ea7u c\u1ee7a t\u1eadp tin pom.xml th\u00f4ng th\u01b0\u1eddng, c\u00e1c b\u1ea1n s\u1ebd th\u1ea5y nh\u01b0 sau:<\/p>\n<pre class=\"lang:xhtml decode:true \">&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\r\n&lt;project xmlns=\"http:\/\/maven.apache.org\/POM\/4.0.0\"\r\n  xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"\r\n  xsi:schemaLocation=\"http:\/\/maven.apache.org\/POM\/4.0.0 http:\/\/maven.apache.org\/xsd\/maven-4.0.0.xsd\"&gt;\r\n  &lt;modelVersion&gt;4.0.0&lt;\/modelVersion&gt;\r\n\r\n  &lt;groupId&gt;com.huongdanjava.apachemaven&lt;\/groupId&gt;\r\n  &lt;artifactId&gt;apache-maven-example&lt;\/artifactId&gt;\r\n  &lt;version&gt;1.0-SNAPSHOT&lt;\/version&gt;\r\n\r\n  &lt;properties&gt;\r\n    &lt;maven.compiler.source&gt;25&lt;\/maven.compiler.source&gt;\r\n    &lt;maven.compiler.target&gt;25&lt;\/maven.compiler.target&gt;\r\n    &lt;project.build.sourceEncoding&gt;UTF-8&lt;\/project.build.sourceEncoding&gt;\r\n  &lt;\/properties&gt;\r\n\r\n&lt;\/project&gt;<\/pre>\n<p>T\u1eadp tin pom.xml n\u00e0y s\u1ebd c\u1ea7n ph\u1ea3i \u0111\u1ecbnh ngh\u0129a n\u1ed9i dung follow theo t\u1eadp tin XSD schema \u1edf \u0111\u1ecba ch\u1ec9 <a href=\"http:\/\/maven.apache.org\/xsd\/maven-4.0.0.xsd\" target=\"_blank\" rel=\"noopener\">http:\/\/maven.apache.org\/xsd\/maven-4.0.0.xsd<\/a> \u0111\u00f3 c\u00e1c b\u1ea1n!<\/p>\n<p>Th\u1ebb root ngo\u00e0i c\u00f9ng s\u1ebd l\u00e0 th\u1ebb &lt;project&gt;. N\u00e0y l\u00e0 th\u1ebb b\u1eaft bu\u1ed9c \u0111\u1ec3 ch\u00fang ta b\u1eaft \u0111\u1ea7u \u0111\u1ecbnh ngh\u0129a c\u00e1c th\u00f4ng tin dependencies c\u1ee7a Maven project.<\/p>\n<p>B\u00ean trong th\u1ebb &lt;project&gt; n\u00e0y, c\u00f3 4 th\u1ebb kh\u00e1c l\u00e0 b\u1eaft bu\u1ed9c, c\u00e1c b\u1ea1n c\u0169ng c\u1ea7n ph\u1ea3i khai b\u00e1o l\u00e0:<\/p>\n<ul>\n<li>&lt;modelVersion&gt;<\/li>\n<li>&lt;groupId&gt;<\/li>\n<li>&lt;artifactId&gt;<\/li>\n<li>&lt;version&gt;<\/li>\n<\/ul>\n<p>Th\u1ebb &lt;modelVersion&gt; \u0111\u1ecbnh ngh\u0129a version c\u1ee7a POM model. Version n\u00e0y li\u00ean quan \u0111\u1ebfn \u0111\u1ecbnh d\u1ea1ng v\u00e0 c\u1ea5u tr\u00fac c\u1ee7a t\u1eadp tin pom.xml \u0111\u00f3 c\u00e1c b\u1ea1n! Latest version c\u1ee7a POM model l\u00e0 4.1.0 v\u1edbi Apache Maven 4 nh\u01b0ng hi\u1ec7n t\u1ea1i Apache Maven 4 ch\u01b0a c\u00f3 final release n\u00ean ch\u00fang ta s\u1ebd th\u01b0\u1eddng s\u1eed d\u1ee5ng Apache Maven 3 v\u1edbi POM model version l\u00e0 4.0.0 c\u00e1c b\u1ea1n nh\u00e9!<\/p>\n<p>Th\u1ebb &lt;groupId&gt; th\u01b0\u1eddng ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng t\u00ean c\u1ee7a t\u1ed5 ch\u1ee9c ho\u1eb7c domain website \u0111\u1ec3 \u0111\u1eb7t gi\u00e1 tr\u1ecb cho n\u00f3. N\u00f3 d\u00f9ng \u0111\u1ec3 \u0111\u1ecbnh ngh\u0129a, th\u01b0 vi\u1ec7n hay \u1ee9ng d\u1ee5ng s\u1eed d\u1ee5ng Maven project n\u00e0y, thu\u1ed9c v\u1ec1 t\u1ed5 ch\u1ee9c hay website n\u00e0o.<\/p>\n<p>Th\u1ebb &lt;artifactId&gt; s\u1ebd \u0111\u1ecbnh ngh\u0129a t\u00ean c\u1ee7a \u1ee9ng d\u1ee5ng ho\u1eb7c th\u01b0 vi\u1ec7n \u0111ang \u0111\u01b0\u1ee3c ph\u00e1t tri\u1ec3n s\u1eed d\u1ee5ng Maven project n\u00e0y.<\/p>\n<p>Th\u1ebb &lt;version&gt; \u0111\u1ecbnh ngh\u0129a phi\u00ean b\u1ea3n c\u1ee7a \u1ee9ng d\u1ee5ng ho\u1eb7c th\u01b0 vi\u1ec7n.<\/p>\n<p>\u0110\u1ec3 khai b\u00e1o c\u00e1c th\u01b0 vi\u1ec7n m\u00e0 \u1ee9ng d\u1ee5ng c\u1ee7a c\u00e1c b\u1ea1n c\u1ea7n s\u1eed d\u1ee5ng, ch\u00fang ta s\u1eed d\u1ee5ng c\u00e1c th\u1ebb &lt;dependency&gt;. C\u00e1c th\u1ebb &lt;dependency&gt; n\u00e0y s\u1ebd n\u1eb1m trong th\u1ebb &lt;dependencies&gt; nh\u01b0 sau:<\/p>\n<pre class=\"lang:xhtml mark:18-28 decode:true \">&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\r\n&lt;project xmlns=\"http:\/\/maven.apache.org\/POM\/4.0.0\"\r\n  xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"\r\n  xsi:schemaLocation=\"http:\/\/maven.apache.org\/POM\/4.0.0 http:\/\/maven.apache.org\/xsd\/maven-4.0.0.xsd\"&gt;\r\n  &lt;modelVersion&gt;4.0.0&lt;\/modelVersion&gt;\r\n\r\n  &lt;groupId&gt;com.huongdanjava.apachemaven&lt;\/groupId&gt;\r\n  &lt;artifactId&gt;apache-maven-example&lt;\/artifactId&gt;\r\n  &lt;version&gt;1.0-SNAPSHOT&lt;\/version&gt;\r\n\r\n  &lt;properties&gt;\r\n    &lt;maven.compiler.source&gt;25&lt;\/maven.compiler.source&gt;\r\n    &lt;maven.compiler.target&gt;25&lt;\/maven.compiler.target&gt;\r\n    &lt;project.build.sourceEncoding&gt;UTF-8&lt;\/project.build.sourceEncoding&gt;\r\n  &lt;\/properties&gt;\r\n\r\n  &lt;dependencies&gt;\r\n    &lt;dependency&gt;\r\n      &lt;groupId&gt;org.projectlombok&lt;\/groupId&gt;\r\n      &lt;artifactId&gt;lombok&lt;\/artifactId&gt;\r\n      &lt;version&gt;1.18.38&lt;\/version&gt;\r\n    &lt;\/dependency&gt;\r\n\r\n    &lt;dependency&gt;\r\n      &lt;groupId&gt;org.mapstruct&lt;\/groupId&gt;\r\n      &lt;artifactId&gt;mapstruct&lt;\/artifactId&gt;\r\n      &lt;version&gt;1.6.3&lt;\/version&gt;\r\n    &lt;\/dependency&gt;\r\n  &lt;\/dependencies&gt;\r\n\r\n&lt;\/project&gt;<\/pre>\n<p>Th\u00f4ng tin c\u1ee7a m\u1ed7i dependency c\u0169ng s\u1ebd bao g\u1ed3m groupId, artifactId v\u00e0 version \u0111\u00f3 c\u00e1c b\u1ea1n!<\/p>\n<p>Khi c\u00e1c b\u1ea1n ch\u1ea1y command c\u1ee7a Apache Maven, n\u00f3 s\u1ebd \u0111\u1ecdc n\u1ed9i dung c\u1ee7a t\u1eadp tin pom.xml n\u00e0y, d\u1ef1a v\u00e0o th\u00f4ng tin c\u1ee7a c\u00e1c dependencies m\u00e0 c\u00e1c b\u1ea1n khai b\u00e1o, n\u00f3 s\u1ebd bi\u1ebft nh\u1eefng th\u01b0 vi\u1ec7n n\u00e0o m\u00e0 c\u00e1c b\u1ea1n \u0111ang c\u1ea7n s\u1eed d\u1ee5ng cho \u1ee9ng d\u1ee5ng c\u1ee7a m\u00ecnh, phi\u00ean b\u1ea3n l\u00e0 g\u00ec, build source code nh\u01b0 th\u1ebf n\u00e0o. Sau \u0111\u00f3, n\u00f3 s\u1ebd t\u1ef1 \u0111\u1ed9ng l\u00e0m m\u1ecdi th\u1ee9 cho ch\u00fang ta.<\/p>\n<p>C\u00e1c b\u1ea1n s\u1ebd th\u1eafc m\u1eafc c\u00e1c th\u01b0 vi\u1ec7n m\u00e0 ch\u00fang ta khai b\u00e1o, Apache Maven s\u1ebd download t\u1eeb \u0111\u00e2u ph\u1ea3i kh\u00f4ng? N\u00f3 s\u1ebd download t\u1eeb c\u00e1c Remote Maven Repository, hay c\u00f2n g\u1ecdi l\u00e0 n\u01a1i l\u01b0u tr\u1eef c\u00e1c th\u01b0 vi\u1ec7n n\u00e0y \u0111\u00f3 c\u00e1c b\u1ea1n! M\u1eb7c \u0111\u1ecbnh s\u1ebd l\u00e0 t\u1eeb Maven Repository n\u00e0y <a href=\"https:\/\/repo.maven.apache.org\/maven2\/\" target=\"_blank\" rel=\"noopener\">https:\/\/repo.maven.apache.org\/maven2\/<\/a><\/p>\n<p>Sau khi download, Apache Maven s\u1ebd cache c\u00e1c th\u01b0 vi\u1ec7n n\u00e0y trong th\u01b0 m\u1ee5c m\u1eb7c \u0111\u1ecbnh, g\u1ecdi l\u00e0 Local Maven Repository, \u1edf \u0111\u01b0\u1eddng d\u1eabn ~\/.m2\/repository. Nh\u1edd \u0111\u00f3 m\u00e0 n\u1ebfu m\u1ed9t \u1ee9ng d\u1ee5ng kh\u00e1c, m\u1ed9t th\u01b0 vi\u1ec7n kh\u00e1c, s\u1eed d\u1ee5ng c\u00e1c dependencies c\u00f9ng groupId, c\u00f9ng artifactId, c\u00f9ng version, Apache Maven s\u1ebd kh\u00f4ng ph\u1ea3i download n\u1eefa, v\u00ec n\u00f3 \u0111\u00e3 download v\u1ec1 Local Maven Repository r\u1ed3i \u0111\u00f3 c\u00e1c b\u1ea1n.<\/p>\n<p>Sau khi \u0111\u00e3 \u0111\u1ecbnh ngh\u0129a c\u00e1c th\u01b0 vi\u1ec7n m\u00e0 \u1ee9ng d\u1ee5ng c\u1ee7a c\u00e1c b\u1ea1n c\u1ea7n s\u1eed d\u1ee5ng, c\u00e1c b\u1ea1n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng m\u1ed9t s\u1ed1 command v\u1edbi goal sau \u0111\u1ec3 download dependencies v\u00e0 build source code cho project c\u1ee7a m\u00ecnh c\u00e1c b\u1ea1n nh\u00e9:<\/p>\n<div>\n<ul>\n<li>&#8220;mvn clean&#8221;: xo\u00e1 c\u00e1c t\u1eadp tin \u0111\u00e3 build tr\u01b0\u1edbc \u0111\u00f3<\/li>\n<li><span style=\"font-size: 14px;\">&#8220;mvn compile&#8221;: compiles Java source code<\/span><\/li>\n<li><span style=\"font-size: 14px;\">&#8220;mvn test&#8221;: ch\u1ea1y c\u00e1c JUnit tests<\/span><\/li>\n<li><span style=\"font-size: 14px;\">&#8220;mvn package&#8221;: \u0111\u00f3ng g\u00f3i t\u1eadp tin JAR ho\u1eb7c WAR cho \u1ee9ng d\u1ee5ng<\/span><\/li>\n<li><span style=\"font-size: 14px;\">&#8220;mvn install&#8221;: Download v\u00e0 install c\u00e1c dependencies v\u00e0o Local Maven Repository<\/span><\/li>\n<li><span style=\"font-size: 14px;\">&#8220;mvn deploy&#8221;: Upload c\u00e1c th\u01b0 vi\u1ec7n l\u00ean c\u00e1c Remote Maven Repository<\/span><\/li>\n<\/ul>\n<p>C\u00e1c b\u1ea1n c\u00f3 th\u1ec3 combine c\u00e1c goal l\u1ea1i v\u1edbi nhau \u0111\u1ec3 ch\u1ea1y trong m\u1ed9t l\u1ea7n, kh\u00f4ng nh\u1ea5t thi\u1ebft ph\u1ea3i t\u00e1ch bi\u1ec7t ra c\u00e1c b\u1ea1n nh\u00e9! V\u00ed d\u1ee5, ch\u00fang ta c\u00f3 th\u1ec3 ch\u1ea1y &#8220;mvn clean install&#8221; ho\u1eb7c &#8220;mvn clean package&#8221; \u0111\u1ec1u \u0111\u01b0\u1ee3c.<\/p>\n<p>V\u1edbi t\u1eadp tin pom.xml \u0111\u01b0\u1ee3c \u0111\u1ecbnh ngh\u0129a nh\u01b0 tr\u00ean, sau khi c\u00e1c b\u1ea1n ch\u1ea1y command &#8220;mvn clean install&#8221; ch\u1eb3ng h\u1ea1n, c\u00e1c b\u1ea1n s\u1ebd th\u1ea5y Apache Maven t\u1ef1 \u0111\u1ed9ng download v\u00e0 install c\u00e1c dependencies n\u00e0y v\u1ec1 Local Maven Repository nh\u01b0 sau:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-24734 aligncenter\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2025\/10\/gioi-thieu-ve-apache-maven-1.png\" alt=\"\" width=\"700\" height=\"601\" \/><\/p>\n<p>Tr\u00ean \u0111\u00e2y ch\u1ec9 l\u00e0 nh\u1eefng \u0111i\u1ec3m c\u01a1 b\u1ea3n v\u1ec1 Apache Maven th\u00f4i c\u00e1c b\u1ea1n. C\u00f2n nhi\u1ec1u th\u1ee9 ch\u00fang ta c\u00f3 th\u1ec3 l\u00e0m \u0111\u1ec3 build source code v\u1edbi Apache Maven, m\u00ecnh s\u1ebd gi\u1edbi thi\u1ec7u v\u1edbi c\u00e1c b\u1ea1n trong nh\u1eefng b\u00e0i vi\u1ebft kh\u00e1c, c\u00e1c b\u1ea1n nh\u00e9!<\/p>\n<\/div>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-right kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;right&quot;,&quot;id&quot;:&quot;24704&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;0&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;0&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;4&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;0\\\/5 - (0 votes)&quot;,&quot;size&quot;:&quot;24&quot;,&quot;title&quot;:&quot;Gi\u1edbi thi\u1ec7u v\u1ec1 Apache Maven&quot;,&quot;width&quot;:&quot;0&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} - ({count} {votes})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 0px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 19.2px;\">\n            <span class=\"kksr-muted\"><\/span>\n    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Ng\u00e0y x\u01b0a, khi ch\u01b0a c\u00f3 Apache Maven, n\u1ebfu c\u00e1c b\u1ea1n l\u00e0m vi\u1ec7c v\u1edbi \u1ee9ng d\u1ee5ng Java c\u00f3 s\u1eed d\u1ee5ng c\u00e1c th\u01b0 vi\u1ec7n b\u00ean ngo\u00e0i, c\u00e1c b\u1ea1n ph\u1ea3i download manually c\u00e1c th\u01b0 vi\u1ec7n \u0111\u00f3 v\u00e0 add ch\u00fang v\u00e0o classpath \u0111\u1ec3 \u1ee9ng d\u1ee5ng c\u1ee7a ch\u00fang ta c\u00f3&hellip; <a href=\"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-apache-maven.html\">Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":289,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[83],"tags":[],"class_list":["post-24704","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-apache-maven","clearfix"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Gi\u1edbi thi\u1ec7u v\u1ec1 Apache Maven - Huong Dan Java<\/title>\n<meta name=\"description\" content=\"Trong b\u00e0i vi\u1ebft n\u00e0y, m\u00ecnh gi\u1edbi thi\u1ec7u v\u1edbi c\u00e1c b\u1ea1n v\u1ec1 Apache Maven.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-apache-maven.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Gi\u1edbi thi\u1ec7u v\u1ec1 Apache Maven - Huong Dan Java\" \/>\n<meta property=\"og:description\" content=\"Trong b\u00e0i vi\u1ebft n\u00e0y, m\u00ecnh gi\u1edbi thi\u1ec7u v\u1edbi c\u00e1c b\u1ea1n v\u1ec1 Apache Maven.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-apache-maven.html\" \/>\n<meta property=\"og:site_name\" content=\"Huong Dan Java\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/nhkhanh2406\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/nhkhanh2406\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-19T09:08:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-21T01:29:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2016\/03\/maven.png\" \/>\n\t<meta property=\"og:image:width\" content=\"200\" \/>\n\t<meta property=\"og:image:height\" content=\"200\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Khanh Nguyen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/KhanhNguyenJ\" \/>\n<meta name=\"twitter:site\" content=\"@KhanhNguyenJ\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Khanh Nguyen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/gioi-thieu-ve-apache-maven.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/gioi-thieu-ve-apache-maven.html\"},\"author\":{\"name\":\"Khanh Nguyen\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#\\\/schema\\\/person\\\/dc859d7f8cbea3b593e6738de9cbb82d\"},\"headline\":\"Gi\u1edbi thi\u1ec7u v\u1ec1 Apache Maven\",\"datePublished\":\"2025-11-19T09:08:36+00:00\",\"dateModified\":\"2025-11-21T01:29:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/gioi-thieu-ve-apache-maven.html\"},\"wordCount\":1362,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#\\\/schema\\\/person\\\/dc859d7f8cbea3b593e6738de9cbb82d\"},\"image\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/gioi-thieu-ve-apache-maven.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2016\\\/03\\\/maven.png\",\"articleSection\":[\"Apache Maven\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/gioi-thieu-ve-apache-maven.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/gioi-thieu-ve-apache-maven.html\",\"url\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/gioi-thieu-ve-apache-maven.html\",\"name\":\"Gi\u1edbi thi\u1ec7u v\u1ec1 Apache Maven - Huong Dan Java\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/gioi-thieu-ve-apache-maven.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/gioi-thieu-ve-apache-maven.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2016\\\/03\\\/maven.png\",\"datePublished\":\"2025-11-19T09:08:36+00:00\",\"dateModified\":\"2025-11-21T01:29:47+00:00\",\"description\":\"Trong b\u00e0i vi\u1ebft n\u00e0y, m\u00ecnh gi\u1edbi thi\u1ec7u v\u1edbi c\u00e1c b\u1ea1n v\u1ec1 Apache Maven.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/gioi-thieu-ve-apache-maven.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/gioi-thieu-ve-apache-maven.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/gioi-thieu-ve-apache-maven.html#primaryimage\",\"url\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2016\\\/03\\\/maven.png\",\"contentUrl\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2016\\\/03\\\/maven.png\",\"width\":200,\"height\":200},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/gioi-thieu-ve-apache-maven.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/huongdanjava.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Gi\u1edbi thi\u1ec7u v\u1ec1 Apache Maven\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#website\",\"url\":\"https:\\\/\\\/huongdanjava.com\\\/\",\"name\":\"Huong Dan Java\",\"description\":\"Java development tutorials\",\"publisher\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#\\\/schema\\\/person\\\/dc859d7f8cbea3b593e6738de9cbb82d\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/huongdanjava.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#\\\/schema\\\/person\\\/dc859d7f8cbea3b593e6738de9cbb82d\",\"name\":\"Khanh Nguyen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg\",\"url\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg\",\"contentUrl\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg\",\"width\":1267,\"height\":1517,\"caption\":\"Khanh Nguyen\"},\"logo\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg\"},\"description\":\"I love Java and everything related to Java.\",\"sameAs\":[\"https:\\\/\\\/huongdanjava.com\",\"https:\\\/\\\/www.facebook.com\\\/nhkhanh2406\",\"https:\\\/\\\/x.com\\\/https:\\\/\\\/twitter.com\\\/KhanhNguyenJ\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Gi\u1edbi thi\u1ec7u v\u1ec1 Apache Maven - Huong Dan Java","description":"Trong b\u00e0i vi\u1ebft n\u00e0y, m\u00ecnh gi\u1edbi thi\u1ec7u v\u1edbi c\u00e1c b\u1ea1n v\u1ec1 Apache Maven.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-apache-maven.html","og_locale":"en_US","og_type":"article","og_title":"Gi\u1edbi thi\u1ec7u v\u1ec1 Apache Maven - Huong Dan Java","og_description":"Trong b\u00e0i vi\u1ebft n\u00e0y, m\u00ecnh gi\u1edbi thi\u1ec7u v\u1edbi c\u00e1c b\u1ea1n v\u1ec1 Apache Maven.","og_url":"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-apache-maven.html","og_site_name":"Huong Dan Java","article_publisher":"https:\/\/www.facebook.com\/nhkhanh2406","article_author":"https:\/\/www.facebook.com\/nhkhanh2406","article_published_time":"2025-11-19T09:08:36+00:00","article_modified_time":"2025-11-21T01:29:47+00:00","og_image":[{"width":200,"height":200,"url":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2016\/03\/maven.png","type":"image\/png"}],"author":"Khanh Nguyen","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/KhanhNguyenJ","twitter_site":"@KhanhNguyenJ","twitter_misc":{"Written by":"Khanh Nguyen","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-apache-maven.html#article","isPartOf":{"@id":"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-apache-maven.html"},"author":{"name":"Khanh Nguyen","@id":"https:\/\/huongdanjava.com\/#\/schema\/person\/dc859d7f8cbea3b593e6738de9cbb82d"},"headline":"Gi\u1edbi thi\u1ec7u v\u1ec1 Apache Maven","datePublished":"2025-11-19T09:08:36+00:00","dateModified":"2025-11-21T01:29:47+00:00","mainEntityOfPage":{"@id":"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-apache-maven.html"},"wordCount":1362,"commentCount":0,"publisher":{"@id":"https:\/\/huongdanjava.com\/#\/schema\/person\/dc859d7f8cbea3b593e6738de9cbb82d"},"image":{"@id":"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-apache-maven.html#primaryimage"},"thumbnailUrl":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2016\/03\/maven.png","articleSection":["Apache Maven"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-apache-maven.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-apache-maven.html","url":"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-apache-maven.html","name":"Gi\u1edbi thi\u1ec7u v\u1ec1 Apache Maven - Huong Dan Java","isPartOf":{"@id":"https:\/\/huongdanjava.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-apache-maven.html#primaryimage"},"image":{"@id":"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-apache-maven.html#primaryimage"},"thumbnailUrl":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2016\/03\/maven.png","datePublished":"2025-11-19T09:08:36+00:00","dateModified":"2025-11-21T01:29:47+00:00","description":"Trong b\u00e0i vi\u1ebft n\u00e0y, m\u00ecnh gi\u1edbi thi\u1ec7u v\u1edbi c\u00e1c b\u1ea1n v\u1ec1 Apache Maven.","breadcrumb":{"@id":"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-apache-maven.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-apache-maven.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-apache-maven.html#primaryimage","url":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2016\/03\/maven.png","contentUrl":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2016\/03\/maven.png","width":200,"height":200},{"@type":"BreadcrumbList","@id":"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-apache-maven.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/huongdanjava.com\/"},{"@type":"ListItem","position":2,"name":"Gi\u1edbi thi\u1ec7u v\u1ec1 Apache Maven"}]},{"@type":"WebSite","@id":"https:\/\/huongdanjava.com\/#website","url":"https:\/\/huongdanjava.com\/","name":"Huong Dan Java","description":"Java development tutorials","publisher":{"@id":"https:\/\/huongdanjava.com\/#\/schema\/person\/dc859d7f8cbea3b593e6738de9cbb82d"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/huongdanjava.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/huongdanjava.com\/#\/schema\/person\/dc859d7f8cbea3b593e6738de9cbb82d","name":"Khanh Nguyen","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/07\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg","url":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/07\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg","contentUrl":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/07\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg","width":1267,"height":1517,"caption":"Khanh Nguyen"},"logo":{"@id":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/07\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg"},"description":"I love Java and everything related to Java.","sameAs":["https:\/\/huongdanjava.com","https:\/\/www.facebook.com\/nhkhanh2406","https:\/\/x.com\/https:\/\/twitter.com\/KhanhNguyenJ"]}]}},"_links":{"self":[{"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/posts\/24704","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/comments?post=24704"}],"version-history":[{"count":8,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/posts\/24704\/revisions"}],"predecessor-version":[{"id":24826,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/posts\/24704\/revisions\/24826"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/media\/289"}],"wp:attachment":[{"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/media?parent=24704"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/categories?post=24704"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/tags?post=24704"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}