Maven学习笔记

目录

  1. Maven安装配置
  2. 深入学习Maven
  3. 重点:每次IDEA整合Maven时要配置为本地库

Maven简介

  • Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
  • Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。
  • 由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。
  • 由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
  • Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来简化构建过程。当时有一些项目(有各自Ant build文件),仅有细微的差别,而JAR文件都由CVS来维护。于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享JARs。

特点

那么,Maven 和 Ant 有什么不同呢?
在回答这个问题以前,首先要强调一点:Maven 和 Ant 针对构建问题的两个不同方面。Ant 为 Java 技术开发项目提供跨平台构建任务。Maven 本身描述项目的高级方面它从 Ant 借用了绝大多数构建任务。因此,由于 Maven 和 Ant代表两个差异很大的工具,所以接下来只说明这两个工具的等同组件之间的区别,如下图所示。
在这里插入图片描述

  • Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model)一组标准集合一个项目生命周期(Project Lifecycle)一个依赖管理系统(Dependency Management System)和用来运行定义生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑

  • 当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。

  • Maven 有一个生命周期,当你运行 mvn install 的时候被调用。这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。
    在这里插入图片描述

  • 遍历生命周期旅途中的一个影响就是,Maven 运行了许多默认的插件目标,这些目标完成了像编译和创建一个 JAR 文件这样的工作。

  • 此外,Maven能够很方便的帮你管理项目报告,生成站点,管理JAR文件,等等。

常用命令

mvn archetype:generate 创建Maven项目
mvn compile 编译源代码
mvn deploy 发布项目
mvn test-compile 编译测试源代码
mvn test 运行应用程序中的单元测试
mvn site 生成项目相关信息的网站
mvn clean 清除项目目录中的生成结果
mvn package 根据项目生成的jar
mvn install 在本地Repository中安装jar
mvn eclipse:eclipse 生成eclipse项目文件
mvnjetty:run 启动jetty服务
mvntomcat:run 启动tomcat服务
mvn clean package -Dmaven.test.skip=true:清除以前的包后重新打包,跳过测试类

生命周期

Maven的生命周期是为了对所有的构建过程进行了抽象了,便于统一。
常用的我标注出来
clean(清理)(每得到一个项目就需要进行清理,清理的为target包
cleanup(清理所有)
此生命周期旨在给工程做清理工作,它主要包含以下阶段:
pre-clean - 执行项目清理前所需要的工作。
clean - 清理上一次build项目生成的文件。
post-clean - 执行完成项目清理所需的工作.
default(默认)
validate - 验证项目是否正确且所有必要的信息都可用。
initialize - 初始化构建工作,如:设置参数,创建目录等。
generate-sources - 为包含在编译范围内的代码生成源代码.
process-sources - 处理源代码, 如过滤值.
generate-resources -
process-resources - 复制并处理资源文件,至目标目录,准备打包。
compile - 编译项目中的源代码.
process-classes - 为编译生成的文件做后期工作, 例如做Java类的字节码增强.
generate-test-sources - 为编译内容生成测试源代码.
process-test-sources - 处理测试源代码。
generate-test-resources -
process-test-resources - 复制并处理资源文件,至目标测试目录。
test-compile - 将需测试源代码编译到路径。一般来说,是编译/src/test/java目录下的java文件至目标输出的测试classpath目录中。
process-test-classes -
test - 使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署。
prepare-package -
package - 接受编译好的代码,打包成可发布的格式,如 JAR(war包需要配置) 。
pre-integration-test -
integration-test - 按需求将发布包部署到运行环境。
post-integration-test -
verify -
install -将包安装到本地仓库,给其他本地引用提供依赖。
deploy -完成集成和发布工作,将最终包复制到远程仓库以便分享给其他开发人员。
site(站点)
pre-site - 执行一些生成项目站点前的准备工作。
site - 生成项目站点的文档。
post-site - 执行需完成站点生成的工作,如站点部署的准备工作。
site-deploy - 向制定的web服务器部署站点生成文件。
以上信息来源于百度百科

Maven安装并配置

返回目录

  1. Maven官方下载地址:https://maven.apache.org/download.cgi
    下载标注出来的zip包
    在这里插入图片描述
  2. 解压到安装目录之后,进行设置环境变量,如下图所示(bin目录前)
    在这里插入图片描述

配置MAVEN_HOME:

在这里插入图片描述

配置path路径:
在这里插入图片描述
win+R输入cmd,输入mvn -version,按回车键,可以看到maven的版本信息,代表安装成功,如下图所示:
在这里插入图片描述
Maven安装完成之后,我们需要设置maven的本地仓库,找到安装路径\conf路径下的settings.xml文件
设置:<localRepository>D:\java_Maven_local_repository</localRepository>,中间的路径是自己创建的本地仓库路径(任意地方),需要注意的是去掉注释.
在这里插入图片描述

修改Maven的镜像,改为阿里的镜像(国内镜像提高下载依赖的速度),设置如下图所示,地址:

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

在这里插入图片描述
编码设置(在pom.xml中配置位于project标签中)(我第一次用的时候遇到的问题,没问题可以不用添加):

<properties>
        <project.build.sourceEncoding>
            UTF-8
        </project.build.sourceEncoding>
</properties>

设置完成之后,Maven就安装配置完成了,需要注意的是去掉注释
以后需要什么jar包依赖就去Maven官网搜索
因为目前搜索官网在维护中,图片后面补上

深入学习Maven

返回目录
打包普通项目需要导入pom.xml的配置信息:

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.0.2</version>
                    <configuration>
                        <archive>
                            <manifest>
                            <!--自定义包名.主类名-->
                                <mainClass>notepad.Test</mainClass>
                            </manifest>
                        </archive>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

在这里插入图片描述
双击package打包(可以先双击clean进行清理再打包)
在这里插入图片描述
打完的包在项目目录下target中:(包名可以改,也可以在配置信息中直接自定义命名,这里就不展开了)
在这里插入图片描述
把jar包生成exe文件并做成安装包需要两款软件:exe4j Wizard和Inno Setup compiler,以后再更新(预放置链接
其他知识点待更新

重点:每次IDEA整合Maven时要配置为本地库:

返回目录
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

CharmDeer

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

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

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

打赏作者

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

抵扣说明:

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

余额充值