Maven的pom.xml配置详解

个人博客原文链接

本次主要介绍了如何在IntelliJ IDEA中正确配置pom.xml文件,通常至少要包含三个部分:项目坐标和模型版本、引入依赖的jar包、构建项目的配置。
关于Maven的安装和环境配置可以参考我之前的文章:Maven入门学习

模型版本和项目坐标

项目坐标和模型版本

  1. 模型版本
    modelVersion:pom文件的模型版本
  2. 项目坐标
    指的是项目在maven资源库的坐标,通过groupId + artifactId + version进行表示。
  • groupId:用于指定当前项目所属的组,格式一般是com.组织名.项目名,如图中的com.lousen.spark。
  • artifactId:当前项目所属组的唯一的ID号,如图中的:maven-test
  • version:用于指定当前项目的版本编号。比如:1.0-SNAPSHOT。后面的SNAPSHOT指正在开发中的项目。

引入依赖的jar包

  1. 引入依赖的jar包

    • 配置依赖的JAR包信息,首先会从本地库查找是否有该JAR,如果没有,Maven会从远程仓库自动下载这个JAR到本地仓库,下载完后,就可以在项目中使用这个JAR了。
    • 引入方法:在<dependencies></dependencies>标签中配置需要的JAR包的项目坐标信息
      Maven引入依赖的jar包
  2. 剔除想要排除的jar包
    如果想要排除引入的JAR包,可以使用<exclusions> </exclusions>
    <dependencies></dependencies>中添加

  <exclusions>
    <exclusion>
      <groupId>org.apache.spark</groupId>
      <artifactId>spark-sql</artifactId>
    </exclusion>
  </exclusions>
  1. 直接从Maven中心储存库获取依赖包
    URL:mvn中心库
    • 搜索指定的依赖包
    • 选择需要的版本
    • 获取到该依赖包的配置信息
    • 复制粘贴到pox.xml文件中
      具体事例:
 <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.11</version>
        </dependency>

构建项目的配置

  1. 项目构建,进行打包,使用<build></build>标签进行配置

  2. 构建时,可以使用不同的插件,指定不同的功能,常用的功能由如下三种:

    • maven-assembly-plugin
      设置打包信息,生成的jar包的名称是 a r t i f a c t I d − {artifactId}- artifactId{version}-jar-with-dependencies.jar

    • maven-compiler-plugin
      设置java的版本号

    • maven-resources-plugin
      设置项目的编码格式

  3. 具体配置

    <build>
        <plugins>
            <!--插件1-->
            <!--打包配置的插件-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.0.0</version>
                <configuration>
                    <!--官方提供的定制化打包方式,将所有依赖的jar包都添加到最终打的包里-->
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
                <executions>
                    <execution>
                        <!--名字-->
                        <id>make-my-jar-with-dependencies</id>
                        <!--绑定到package生命周期阶段上-->
                        <phase>package</phase>
                        <!--只执行一次-->
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <!--插件2-->
            <!--设置java版本为1.8-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>

            <!--插件3-->
            <!--设置编码为utf-8-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值