# Maven 知识及常见问题

概述

  • Maven 是一个基于 Java 的构建工具和项目管理工具。它提供了一套完整的构建生命周期框架,用于描述项目构建过程、依赖管理和项目信息。Maven 使用一个声明式的方式来描述项目构建过程,简化了项目配置和管理,提高了开发效率。

Maven 的主要特点

项目对象模型(Project Object ModelPOM):Maven 使用 POM 来描述项目的基本信息、依赖关系、构建过程等。POM 是一个 XML 文件,包含了项目的各种配置信息。

  • 依赖管理:Maven 提供了一套强大的依赖管理机制,可以自动下载和管理项目依赖的库和组件。开发者只需在 POM 文件中声明依赖,Maven 会自动从中央仓库或本地仓库下载所需的依赖。
  • 构建生命周期:Maven 定义了一套标准的构建生命周期,包括编译、测试、打包、部署等阶段。开发者可以通过命令行或 IDE 工具来执行构建生命周期中的各个阶段。
  • 插件机制:Maven 提供了丰富的插件机制,用户可以通过插件来扩展 Maven 的功能。Maven 官方提供了大量的插件,用于支持各种构建和部署任务。
  • 仓库管理:Maven 使用仓库机制来管理依赖和构件。Maven 中央仓库是全球最大的 Java 开源组件仓库,开发者可以在其中查找和下载所需的依赖。同时,Maven 还支持本地仓库和私服,用于管理本地组件和企业内部组件。

Maven 的使用可以大大简化 Java 项目的构建和管理过程,提高开发效率,降低项目维护成本。同时,Maven 的标准化和统一的项目结构也使得开发者更容易理解和维护其他人的项目。

Maven 安装

安装步骤

  • 下载maven配置环境变量,即可使用

settingx.ml常用仓库地址

  • 阿里云仓库

    <mirrors>
        <mirror>         
            <id>alimaven</id>
            <name>aliyun maven</name> 
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url> 
            <mirrorOf>central</mirrorOf> 
        </mirror> 
    </mirrors>
    

Idea 使用maven常见坑

  • Idea右侧Profiles下面的每个maven项目报红,因为项目无法识别到当前的maven项目,右键unlink maven projects,点击加号重新添加项目。
  • 编译的时候如果class文件中已经存在了,但是Idea报找不到类并且报红,可以尝试上面的方法。或者清理Idea的缓存重启。
  • 当仓库中的jar包问题混乱时候,可以重新指定maven的地址,重新拉去jar包。

Maven 常用命令

在这里插入图片描述

mvn clean

运行该命令,会删除项目的target整个目录。

mvn install

将maven项目,编译、打包到本地仓库。
在这里插入图片描述

mvn deploy

将项目进行打包发布到远端仓库中。

mvn compile

编译项目

pom.xml配置

排除依赖中的某个包

  • 当项目中的依赖有冲突的时候,可以排除相关的jar,可以不用排除,但是因为冲突报错的时候需要排除相关jar
<dependency>
    <groupId>org.redisson</groupId>
    <artifactId>redisson</artifactId>
    <exclusions>
        <exclusion>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
        </exclusion>
        <exclusion>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </exclusion>
    </exclusions>
    <version>3.5.0</version>
</dependency>

配置 maven编译的版本

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

maven 文件资源的配置

<build>
    <!-- 构建最终生成项目的名字 -->
    <finalName>maven-test</finalName>
    <!-- 构建产生的文件存放目录 -->
    <directory>./ldtest</directory>
    <!-- 项目资源的路径 -->
    <resources>
        <resource>
            <!-- 指定资源文件编译后放置的目录,根目录是target/classes -->
            <targetPath>./ldtest/resources</targetPath>
            <directory>${basedir}/src/main/resources</directory>
            <!-- 筛选需要编译的文件 -->
            <includes>
                <include>*.xml</include>
            </includes>
            <!-- 排除之外的文件 -->
            <excludes>
                <exclude>*.properties</exclude>
            </excludes>
        </resource>
    </resources>
</build>
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全栈程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值