1. Maven的出发点
在进行软件开发的过程中,无论什么项目,采用何种技术,使用何种编程语言,我们都要重复相同的开发步骤:编码,测试,打包,发布,文档。实际上这些步骤是完全重复性的工作。那为什么让软件开发人员去重复这些工作?开发人员的主要任务应该是关注商业逻辑并去实现它,而不是把时间浪费在学习如何在不同的环境中去打包,发布,。。。
Maven正是为了将开发人员从这些任务中解脱出来而诞生的。
2.
Maven能做什么?
Maven是由早期为Jakarta
Turbine定制的构建工具发展而来的,现在成为了一个独立的软件项目管理工具。Maven能够:
1)理解并管理整个软件开发周期,重用标准的构建过程,比如:编译,测试,打包等。同时Maven还可以通过相应的元数据,重用构建逻辑到一个项目。
2)Maven负责整个项目的构建过程。开发人员只需要描述项目基本信息在一个配置文件中:pom.xml。也就是说,Maven的使用者只需要回答“What”而不是“How”。
3.
Maven并不只是一个构建工具,她还可以提供:
1)声明式依赖性管理
2)集中的组件库管理
3)文档的自动生成
4)报告的自动生成
4.
Maven设计原则
1)Convention Over Configuration
(约定优于配置)。在现实生活中,有很多常识性的东西,地球人都知道。比如说:如何过马路(红灯停绿灯行),如何开门,关门等。对于这些事情,人们已经有了默认的约定。
在软件开发过程中,道理也是类似的,如果我们事先约定好所有项目的目录结构,标准开发过程(编译,测试,。。。),所有人都遵循这个约定。软件项目的管理就会变得简单很多。在现在流行的很多框架中,都使用了这个概念,比如EJB3和
Ruby on Rails。在Maven中默认的目录结构如下:
由上图可以看出以下几个标准的Maven目录:
- src:源代码目录。所有的源代码都被放在了这个目录下。在这个目录下又包括了:
1) main:所有的源代码放在这里。对于Java项目,还有一个下级子目录:java. 对于Flex项目则是flex,。。。
2) test:所有的单元测试类放在这里。
- target:所有编译过的类文件以及生成的打包文件(.jar, .war, ...)放在这里。
2)Reuse Build Logic
(重用构建逻辑):Maven把构建逻辑封装到插件中来达到重用的目的。这样在Maven就有用于编译的插件,单元测试的插件,打包的插件,。。。Maven可以被理解成管理这些插件的框架。
3)Declarative
Execution
(声明式执行):Maven中所有的插件都是通过在POM中声明来定义的。Maven会理解所有在POM中的声明,并执行相应的插件。
5.
创建一个Maven项目
1) 下载Maven:http://maven.apache.org/
2) 解压缩下载的zip文件到本地目录下,比如:D:\Maven
3) 添加D:\Maven\bin到环境变量PATH中
4) 在命令行下运行:
mvn -version 或者 mvn
-v
你应该看到如下图所示的Maven版本号:
5) 运行如下命令创建一个Maven项目:
mvn archetype:create -DgroupId=net.jianxi.tutorials
-DartifactId=helloworld
-DpackageName=net.jianxi.tutorials
该项目的目录结构如下图所示:
现在就可以运行一些Maven命令了
编译: mvn compile
单元测试: mvn test
构建并打包: mvn package
清理: mvn clean
安装 mvn clean install
分享到:
相关推荐
Maven更新问题 今天Maven在更新的时候发现一直更新不成功,总结下解决方法。 在apache-maven-3.5.2/conf/setting.xml中加入以下配置即可解决 alimaven aliyun maven ...
**Maven教程:基础篇——尚硅谷学习笔记 2022年** Maven是一个强大的Java项目管理和构建工具,由Apache软件基金会开发。它通过提供一个标准的项目对象模型(Project Object Model,POM)来简化项目的构建过程,并...
【 Maven 精品教程视频01 】:这是一份关于 Maven 的详细教学资源,旨在帮助初学者和有经验的开发者深入理解并熟练掌握 Maven 这一强大的Java项目管理和构建工具。Maven 提供了一个统一的方式来管理项目的构建、报告...
idea创建Maven项目时,报错显示Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.0.2:resources,并且Maven插件内看不到 mybatis-generator。如下图: 折腾了好久发现配置放错地方了,...
Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project
Maven安装与配置:Windows和Linux环境下的步骤; Maven安装与配置:Windows和Linux环境下的步骤; Maven安装与配置:Windows和Linux环境下的步骤; Maven安装与配置:Windows和Linux环境下的步骤; Maven安装与配置...
maven-resources-production java.lang.NegativeArraySizeException java.lang.NegativeArraySizeException 问题解决
maven教程,目录如下: Maven安装配置 Maven启用代理访问 Maven本地资源库 Maven中央存储库 如何从Maven远程存储库下载? Maven添加远程仓库 Maven依赖机制 定制库到Maven本地资源库 使用Maven创建Java项目 使用...
Maven是Java领域广泛使用的项目管理工具,它能够帮助开发者完成项目的构建、文档生成、报告、依赖管理和软件生命周期管理等工作。通过本文的介绍,我们可以了解到Maven的基本概念、安装配置、基本使用和深入应用详解...
### Eclipse Maven Plugin 插件安装与配置指南 #### 一、引言 在现代软件开发过程中,Maven作为一款强大的构建工具,极大地简化了项目的构建流程。为了更好地集成Maven的功能,Eclipse提供了名为Eclipse Maven ...
maven-deploy-plugin-2.8.2.jar
settings.xml,本地maven仓库配置,注意:D:\maven\repository为我本地的maven仓库路径,改成你的。 settings.xml,本地maven仓库配置,注意:D:\maven\repository为我本地的maven仓库路径,改成你的。 settings.xml...
在<plugins></plugins>中添加 <groupId>org.apache.maven.plugins <artifactId>maven-compiler-plugin <version>3.8.1 <source>1.8 <target>1.8 </plugin>
maven打包,指定入口类的jar包,具体的pom配置为: <groupId>org.apache.maven.plugins <artifactId>maven-shade-plugin <version>3.1.0 <phase>package <goal>shade implementation="org....
maven-aether-provider-3.2.1-sources.jar maven-antrun-plugin-1.3.jar maven-archiver-2.2.jar maven-artifact-3.2.1-sources.jar maven-assembly-plugin-2.2-beta-5.jar maven-bundle-plugin-1.0.0.jar maven-...
.TEMP_IMG1682649910810 使用jianguoyun的手机md编辑器
**IDEA搭建Maven教程** **一、Maven下载与安装** 1. **访问Maven官方网站**:首先,你需要访问Apache官方Maven的下载页面,网址是`www.apache.org`,然后向下滚动找到Maven的相关部分。 2. **下载Maven压缩包**:...
org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration) 解决方案: 第一种方式 war项目 <groupId>org.apache....
idea中maven项目右侧插件红线,可能需要手动导入架包等文件,直接把压缩包考进去就行。我的F:\maven_repository\org\apache\maven\plugins\maven-surefire-plugin文件夹下