Maven中pom文件详解

在IDE中使用Maven

IDE工具

  • MyEclipse

    集成maven插件

  • Eclipse

​ Eclipse For Java EE

  • IDEA

    集成Maven插件

    在IDE中

    配置Maven

    • 指定maven安装目录和配置文件
    • 自动更新maven项目:勾选import projects automatically (2020版本 :Ctrl + Shift + O)

创建Maven项目

new Module——>Maven——>勾选Create from archetype

执行maven操作

Maven projects显示所有maven项目

执行生命周期

如果不想单独执行,就点击maven框里的Execute Maven Goal(在run maven的右边)

也能自定义添加一个maven操作组合

如果main文件下没有resources文件就创建一个,test文件下也是一样的

目录的类型与更改类型

在IDEA中目录是分类型的,常营的4中:

  • Sources Root 主代码的目录:src/main/java

  • Test Sources Root 测试代码的目录:src/test/java

  • Resources Root 主代码所需资源的目录:src/main/resources

  • Test Resources Root测试代码所需资源的目录:src/test/resources

    注:在IDEA中默认创建的目录都是普通的Directory,创建后需要设置目录的类型

可以在文件右键 Mark Directory As中更改

Maven中pom.xml文件详解

简介

pom:project object model项目对象模型

pom.xml是Maven的核心配置文件

一个Maven项目有且只有一个pom.xml文件,该文件必须在项目的跟目录下

坐标

什么是坐标

用来唯一的标识每个项目,必须为项目定义坐标,坐标必须唯一

目的是为了让其他的Maven项目可以使用该项目生成的jar包

坐标详解

Maven坐标是通过一些元素来定义:groupId(组织的ID)、artifactId、version

groupId(组织的ID):表示当前模块所属于的项目

artifactId:模块的ID

version:当前的版本

<groupId>org.example</groupId>
  <artifactId>maven-project</artifactId>
  <version>1.0-SNAPSHOT</version>

dependency

基本配置

如何查找一个jar包的坐标

https://search.maven.org/或者:https://maven.aliyun.com/mvn/view(maven.aliyun.com/nexus)

查找mysql-connector

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>

<!--   mysql jar包-->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.22</version>
    </dependency>
  </dependencies>

scope作用域

表示依赖的作用域,用来配置依赖的jar包可使用的范围

取值含义举例
compile该依赖可以在整个项目中使用,参与打包部署,默认值commons-fileupload
test该依赖只能在测试代码中使用,并且不参与打包部署的junit
provided该依赖编写源代码时需要,不参与打包部署servlet-api、jsp-api
runtime该依赖编写代码时不需要,运行时需要,参与打包部署mysql-connector
system表示使用本地系统路径下的jar包,需要和一个systemPath一起使用ojdbc.jar

使用本地jar包(放在自己创建的lib文件下,与src同级):

<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>8.0.22</version>
  <systemPath>${basedir}/lib/mysql-connector-java-8.0.17.jar</systemPath>
</dependency>

properties

全局属性,一般情况下同于定义全局的jar包的版本

作用:比如在properties中定义版本<ljy.version>4.3.12</ljy.version>

那么在对于的依赖下添加${ljy.version}

在properties中改了 后面对应的依赖版本也跟着改了(方便)

在依赖的version中alt+ctrl+v(快速提取)

如:

<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <maven.compiler.source>1.7</maven.compiler.source>
  <maven.compiler.target>1.7</maven.compiler.target>
  <mysql-connector-java.version>8.0.22</mysql-connector-java.version>
</properties>

   <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>${mysql-connector-java.version}</version>
    </dependency>

repositories

用来配置当前工程使用的远程仓库

依赖查找的顺序:本地仓库——>当前工程pom.xml中配置的远程仓库——>setting.xml中配置的远程仓库

spring为例:url 是spring官方地址

<repositories>
<!--      有些最新的jar包,可能在中央仓库上并没有提供,此时可以使用jar包官方提供的仓库-->
        <repository>
            <id>spring_repo</id>
            <url>https://repo.spring.io/milestone/</url>
        </repository>

plugin(配置插件)

配置插件,是一种工具

格式:

<build>
  <plugins>
    <plugin>
      <groupId>xxxx</groupId>
      <artifactId>zzzz</artifactId>
      <version>zzzz</version>
    </plugin>
  </plugins>
</build>
<build>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
        <plugins>
            <!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
            <plugin>
                <artifactId>maven-clean-plugin</artifactId>
                <version>3.1.0</version>
            </plugin>
              </plugins>
        </pluginManagement>
    </build>

超级POM

所有的pom.xml文件都继承了父POM,这个父POM称为超级POM(Super POM),你看不见也改不了,但是在myeclipse软件中能看见

原文链接:Maven中pom文件详解 - 喂s别闹 - 博客园

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Mavenpom文件(Project Object Model)是一个XML文件,用于管理Maven项目的配置信息。它是Maven的核心文件之一,对于理解和构建Maven项目至关重要。 pom文件包含了项目的核心配置信息,如项目名称、版本、描述、开发者信息等。它还定义了项目所依赖的外部库和插件,以及构建和部署项目所需要的其他配置。 在pom文件,可以指定项目的坐标(groupId、artifactId、version),这在Maven是唯一标识一个项目的方式。通过坐标,我们可以更方便地在Maven仓库找到和下载项目的依赖。 另外,pom文件也可以定义项目的构建生命周期和插件配置。通过使用Maven插件,我们可以执行各种构建任务,如编译代码、运行测试、打包应用等。在pom文件配置插件的目标和参数,可以实现自定义构建流程和任务。 通过继承和聚合关系,pom文件还可以定义多模块项目的结构和构建顺序。子模块的pom文件可以继承父模块的配置,从而减少重复配置的工作量。在多模块项目,可以通过聚合方式统一构建和管理各个子模块。 此外,pom文件还定义了项目的依赖管理。通过声明项目的依赖和依赖的版本,Maven可以自动解决依赖冲突并下载所需的库文件。这样,我们可以更方便地管理和更新项目的依赖,避免版本不一致和冲突的问题。 总体来说,pom文件Maven项目的核心配置文件,提供了丰富的配置选项和功能。通过合理配置pom文件,我们可以更好地管理和构建Maven项目,提高开发效率和项目质量。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值