Maven 常见53个标签

项目的pom.xml

Project Coordinates

  • <groupId>:定义项目所属的组织或者团队的唯一基础名称。例如:com.example
  • <artifactId>:项目的唯一标识符,通常是项目的名称。例如:hello-world
  • <version>:项目当前的版本号。例如:1.0.0-SNAPSHOT
  • <packaging>:定义项目的打包方式,比如jar,war等。默认是jar。例如:<packaging>jar</packaging>

Repository Definition

  • <repositories>:项目所使用的远程仓库列表。
    • <repository>:定义一个远程仓库。
      • <id>:仓库的唯一标识符。
      • <name>:仓库的名称。
      • <url>:仓库的URL地址。
      • <layout>:仓库的布局,默认为default
      • <snapshots>:定义如何处理snapshot版本。
        • <enabled>:是否启用snapshot版本。

Dependency Management

  • <dependencies>:项目的依赖列表。
    • <dependency>:定义一个依赖。
      • <groupId><artifactId><version>:定义依赖的坐标。
      • <optional>:是否是可选依赖,默认为false
      • <exclusions>:排除某些传递性依赖。
        • <exclusion>:定义需要排除的传递性依赖。

Build Configuration

  • <build>:定义项目的构建配置。
    • <plugins>:项目构建时使用的插件列表。
      • <plugin>:定义一个插件。
        • <groupId><artifactId><version>:定义插件的坐标。
        • <configuration>:插件的配置信息。
        • <executions>:插件的执行配置。
          • <execution>:定义一个执行阶段。
            • <phase>:定义在什么阶段执行。

Advanced Configuration

  • <properties>:定义Maven项目中用到的属性。

  • <profiles>:项目构建的特定设置集。

    • <profile>:定义一个构建配置文件。
  • <modules>:定义项目模块化,用于多模块项目。

    • <module>:定义一个子模块。
  • <parent>:定义父项目的坐标。

    • <relativePath>:相对于当前项目的路径,用来寻找父项目。
  • <dependencyManagement>:用于集中依赖版本管理的地方。

  • <distributionManagement>:配置项目的分发管理,如部署到仓库的信息。

示例

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.example</groupId> <!-- 组织名 -->
  <artifactId>hello-world</artifactId> <!-- 项目名 -->
  <version>1.0.0</version> <!-- 版本号 -->
  <dependencies>
    <dependency>
      <groupId>org.springframework</groupId> <!-- 依赖的组织名 -->
      <artifactId>spring-context</artifactId> <!-- 依赖的项目名 -->
      <version>5.2.3.RELEASE</version> <!-- 依赖的版本号 -->
    </dependency>
  </dependencies>
</project>

Maven的全局配置文件settings.xml

Local Repository

  • <localRepository>:定义了Maven本地仓库的位置。如果没有配置,默认在用户的home目录下的.m2目录中。例如:
    <localRepository>/path/to/local/repo</localRepository>
    

Mirror Settings

  • <mirrors>:是一个容器,包含了一个或多个<mirror>元素。
  • <mirror>:定义了一个镜像仓库,用于提供另一个远程仓库的镜像,提高下载速度或者为了内网访问外网资源。
    • <id>:镜像仓库的唯一标识符。
    • <mirrorOf>:指明这个镜像是为了哪个或哪些仓库的镜像。*表示所有远程仓库。
    • <url>:镜像仓库的URL地址。
    • <layout>:仓库的布局(可选)。
      示例:
    <mirrors>
      <mirror>
        <id>example-mirror</id>
        <mirrorOf>*</mirrorOf>
        <url>http://mirror.example.com/maven2</url>
      </mirror>
    </mirrors>
    

Server Settings

  • <servers>:是一个容器,包含了一个或多个<server>元素,用于定义访问仓库时的认证信息。
  • <server>:定义了对特定仓库的身份验证信息。
    • <id>:服务器的唯一标识符,和<repository><pluginRepository>中的<id>对应。
    • <username>:登陆服务器的用户名。
    • <password>:登陆服务器的密码。
      示例:
    <servers>
      <server>
        <id>release-repo</id>
        <username>user</username>
        <password>password</password>
      </server>
    </servers>
    

Snapshot Repository

  • <snapshotRepository>:用于定义分发管理中快照版本仓库的特定信息。它通常在distributionManagement中指定,用于指示Maven如何部署快照版本到远程仓库。

    • <id>:仓库的标识符。
    • <url>:仓库的URL地址。

    示例:

    <distributionManagement>
      <snapshotRepository>
        <id>example-snapshots</id>
        <url>http://snapshots.example.com/maven2</url>
      </snapshotRepository>
    </distributionManagement>
    
  • 35
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值