Maven 配置文件 POM 的常用依赖配置代码
【说明】
本文只是关于 Maven 中的依赖(dependency)的 POM 代码。
如果不加说明,则给出的是父 POM 的依赖管理配置代码。
关于 Maven 的常用插件配置代码,可见笔者的另一篇博客:
Maven 配置文件 POM 的常用插件配置代码:
https://blog.csdn.net/wangpaiblog/article/details/120735742
Lombok
本示例中的运行环境:
- JDK 13.0.2
- Maven 3.6.3
- IntelliJ IDEA 2020.1.2 (Ultimate Edition)
<project xmlns=...>
<properties>
<lombok.version.custom>1.18.20</lombok.version.custom>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version.custom}</version>
<scope>provided</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>
测试
Junit 5
本示例中的运行环境:
- JDK 13.0.2
- Maven 3.6.3
- IntelliJ IDEA 2020.1.2 (Ultimate Edition)
<project xmlns=...>
<properties>
<junit.version.custom>5.8.0-M1</junit.version.custom>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>${junit.version.custom}</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>
日志
Log4j2 & SLF4J & Lombok
本示例中的运行环境:
- JDK 17.0.1
- Maven 3.8.3
- IntelliJ IDEA 2021.3 (Ultimate Edition)
<project xmlns=...>
<properties>
<lombok.version.custom>1.18.20</lombok.version.custom>
<log4j2.version.custom>2.15.0</log4j2.version.custom>
<slf4j.version.custom>2.15.0</slf4j.version.custom>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version.custom}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${log4j2.version.custom}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${log4j2.version.custom}</version>
</dependency>
<!-- 设置 SLF4J 与之绑定的日志包。无需提供 SLF4J 的 JAR 包,因为 Lombok 已经提供了 -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>${slf4j.version.custom}</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
Spring Bean
本示例中的运行环境:
- JDK 13.0.2
- Maven 3.6.3
- IntelliJ IDEA 2020.1.2 (Ultimate Edition)
<project xmlns=...>
<properties>
<spring.version>5.2.9.RELEASE</spring.version>
</properties>
<dependencyManagement>
<dependencies>
<!-- 提供注解 @Controller 等 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- 提供注解 @Resource -->
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.2</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
Spring Boot(含测试)
本示例中的运行环境:
- JDK 17.0.1
- Maven 3.8.3
- IntelliJ IDEA 2021.3 (Ultimate Edition)
<project xmlns=...>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<!-- 此部分不能使用 <properties/...> 中的元素来取代,必须直接给出具体的内容 -->
<version>2.6.2</version>
</parent>
<dependencyManagement>
<dependencies>
<!-- 无需提供版本号 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>
JavaFX
本示例中的运行环境:
- JDK 17.0.1
- Maven 3.8.3
- IntelliJ IDEA 2021.3 (Ultimate Edition)
<project xmlns=...>
<properties>
<javafx.version.custom>17.0.1</javafx.version.custom>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>${javafx.version.custom}</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>${javafx.version.custom}</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
Java 与 JSON 互转
Jackson
本示例中的运行环境:
- JDK 17.0.1
- Maven 3.8.3
- IntelliJ IDEA 2021.3 (Ultimate Edition)
<project xmlns=...>
<properties>
<jackson.version.custom>2.13.1</jackson.version.custom>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version.custom}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version.custom}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version.custom}</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>