Professional Documents
Culture Documents
Maven
Maven
2 DEMO
3 THẢO LUẬN
01
Maven
MAVEN
• Builds
• Documentation
• Reporting
• Dependencies
• SCMs
• Releases
• Distribution
• Tải Maven từ
https://maven.apache.org/download.cgi
• Tạo project bằng Command Line
• mvn -B archetype:generate
• -DgroupId=com.mycompany.app
• -DartifactId=my-app
• -DarchetypeArtifactId=maven-
archetype-quickstart
• -DarchetypeVersion=1.4
Cách sử dụng
Maven cơ bản
MAVEN – LIFECYCLE
Phase: giai đoạn của Maven build
lifecycle
• Khi phase thực hiện thì toàn bộ các phase trên
nó sẽ được thực hiện theo
• validate: kiểm tra project
• test: chạy unit test
• package: đóng gói code đã biên dịch (JAR)
• verify: kiểm tra kết quả kiểm thử tích hợp
• install: cài đặt package lên local repository
• deploy: copy package từ local lên remote
repository
• project: root
• modelVersion: nên để 4.0.0
• groupId: tên tổ chức
• artifactId: tên project(aritfact)
• version: phiên bản
•Version thường đi kèm từ SNAPSHOT có nghĩa là phiên bản
mới nhất trên development branch
MAVEN – POM - PROPERTIES
<properties>
<project.build.sourceEncoding>UTF- Thẻ properties chứa giá trị để sử dụng
8</project.build.sourceEncoding> trong file POM hoặc làm giá trị cho plugins
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<log4jVersion>2.18.0</log4j.version> Có 5 styles chính
</properties>
•env.X: các giá trị trong enviroment variable
<dependencies> •project.x: các giá trị của thẻ con project
<dependency> •settings.x: các giá trị trong file settings.xml (file cấu hình
<groupId>org.apache.logging.log4j</groupId> toàn cục global)
<artifactId>log4j-core</artifactId> •java: các giá trị trong java VD: ${java.home}
<version>${log4jVersion}</version> •x: các giá trị có thể dùng
</dependency>
</dependencies>
MAVEN – POM - PLUGIN
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.10.1</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
Cách tạo
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.18.0</version>
</dependency> Thẻ dependencyManagement
</dependencies> đặt ở file pom cha
</dependencyManagement>
• Khi dependency được xác định ở
File pom.xml cha
dependencyManagement thì module
con sẽ không cần xác định lại version
của dependency
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</dependency>
</dependencies>