聊聊 Maven 最佳实践


聊聊 Maven 最佳实践

文章插图
本文翻译自国外论坛 medium,原文地址:https://medium.com/@AlexanderObregon/maven-best-practices-tips-and-tricks-for-JAVA-developers-438eca03f72b
Maven 简介Maven 是一种广泛使用的 Java 项目构建自动化工具 。它简化了构建过程并帮助管理依赖关系,使开发人员的工作更轻松 。在这篇博文中,我们将讨论一些最佳实践、提示和技巧,以优化我们在项目中对 Maven 的使用并改善我们的开发体验 。
Maven 标准目录结构Maven 遵循标准目录结构来保持项目之间的一致性 。遵循这种结构可以让其他开发人员更轻松地理解我们的项目 。
src/  mAIn/    java/           # 源代码目录    resources/      # 配置文件目录  test/    java/           # 测试代码目录    resources/      # 测试配置文件目录pom.xml指定 Maven 编译器插件【聊聊 Maven 最佳实践】默认情况下,Maven 使用 Java5 编译我们的项目 。要使用不同的 Jdk 版本,请在 pom.xml 文件中配置 Maven 编译器插件:
<build>  <plugins>    <plugin>      <groupId>org.Apache.maven.plugins</groupId>      <artifactId>maven-compiler-plugin</artifactId>      <version>3.8.1</version>      <configuration>        <source>11</source>        <target>11</target>      </configuration>    </plugin>  </plugins></build>有效管理依赖关系Maven 的依赖管理系统是其最强大的功能之一 。使用 pom.xml 文件中的 <dependencyManagement> 标签来集中管理依赖项的版本 。这有助于避免冲突并确保所有模块使用相同版本的依赖项:
<dependencyManagement>  <dependencies>    <dependency>      <groupId>com.fasterxml.jackson.core</groupId>      <artifactId>jackson-databind</artifactId>      <version>2.12.5</version>    </dependency>  </dependencies></dependencyManagement>针对不同环境使用配置文件Maven 配置文件允许我们配置不同环境的构建设置,例如开发、测试和生产 。在 pom.xml 文件中定义配置文件并使用命令行参数激活它们:
<profiles>  <profile>    <id>development</id>    <activation>      <activeByDefault>true</activeByDefault>    </activation>    <properties>      <environment>dev</environment>    </properties>  </profile>  <profile>    <id>production</id>    <properties>      <environment>prod</environment>    </properties>  </profile></profiles>使用命令行激活配置文件:
mvn clean install -P production保持 pom.xml 干净且井然有序组织良好的 pom.xml 文件更易于维护和理解 。以下是维护干净的 pom.xml 的一些技巧:
  • 将相似的依赖项和插件组合在一起 。
  • 使用注释来描述特定依赖项或插件的用途 。
  • 将插件和依赖项的版本号保留在 <properties> 标签内以便于管理 。
<properties>  <junit.version>5.7.0</junit.version>  <mockito.version>3.9.0</mockito.version></properties>使用 Maven WrApperMaven Wrapper 确保构建过程使用正确的 Maven 版本,即使系统上没有安装它 。要使用 Maven Wrapper,请在项目目录中运行以下命令:
mvn wrapper:wrapper此命令会在我们的项目中生成 Maven Wrapper 文件 。现在我们可以使用 ./mvnw (或 windows 上的 ./mvnw.cmd)而不是 mvn 来执行 Maven 命令 。


推荐阅读