maven idea
写在前面的话:此篇文章教程是在IntelliJ IDEA中搭建的maven项目。(建议eclipse党快点转IDEA吧,IDEA大法好。逃…
1.maven的安装
前往Apache Maven官网点击apache-maven-3.3.9-bin.zip链接下载3.3.9的版本即可。下载后我将该目录放到/Users/codingBoy/的目录下,文件名为apache-maven-3.3.9。这样我们便成功安装好maven管理工具,但这还不够,还需要设置maven环境变量。
2.配置maven环境变量
打开终端,退到根目录/Users/codingBoy/,输入命令:$ vi ~/.bash_profile打开bash_profile文件,然后添加如下两行代码:
1 |
export M2_HOME=/Users/robbie/apache-maven-3.3.9 |
然后继续退回到根目录,输入$ source ~/.bash_profile使bash_profile文件添加的内容即刻生效。
接下来在终端输入mvn -v,若出现如下内容,说明你的maven管理工具成功安装并成功配置:
到此,Maven在mac系统下的安装和配置即完成。接下来讲解用maven进行项目管理的一些基础知识。
3.创建第一个maven项目
创建maven项目有两种方式,第一种是用命令行输入代码、运行即可生成;第二种是直接用IDEA创建web项目时选择创建maven的web项目即可(IDEA相比eclipse的第一个优点在此就显露:IDEA已经集成maven插件,所以我们可以直接在IDEA中创建maven项目;而eclipse中我们还要进行下载maven插件等一系列操作,简直不能再繁琐。)。 这里我们先介绍第一种在终端输入命令的方式创建maven项目。
3.1使用命令行创建Maven项目
在终端的根目录下输入如下命令:
1 |
mvn archetype:generate -DgroupId=cn.codingxiaxw.helloword -DartifactId=helloworld -Dpackage=cn.codingxiaxw.helloword -Dversion=1.0-SNAPSHOT -DarchetypeArtifactId=maven-archetype-quickstart |
命令解释如下:
mvn:表示使用的是maven命令。archetype:generate:表示使用generate这个插件为我们的maven项目自动生成一个maven骨架,即我们项目的工程结构(如下图)。后边跟的是该插件为我们创建工程结构所需要的一连串的参数。-DgroupId:标识项目的坐标元素之一,与DartifactId,Dpackaging,Dversion组成我们maven项目的坐标,四者唯一确定一个项目。它的值为我们的项目包名,我这里的格式用的我的博客网站后缀+我的用户名+项目名组成。-DartifactId:标识项目的坐标元素之一,它的值为我们的项目名。我这里指定我要生成的项目名为helloword。-Dpackage:标识项目的坐标元素之一,这里值就跟DgroupId的值保持一致即可。此属性在命令行中可选。-Dversion:指定版本号。此属性在命令行中可选-DarchetypeArtifactId:表示我们生成的工程结构为哪一种,这里的属性值为maven-archetype-quickstart表示生成工程目录结构为quickstart的结构。其值还可以为maven-archetype-webapp表示生成的工程目录结构为webapp的结构。
运行该命令,可看到终端中使用的maven命令自动为我们在下载maven的各个依赖包,执行命令的过程时间可能比较久,完成时间取决于个人网络状况。
完成后我们可以在自己的根目录下发现一个名为”helloword”项目名,说明我们成功在终端使用maven命令创建出一个maven项目,打开该helloword项目,会发现我们生成的maven项目的目录布局为这样的:
1 |
helloword |
没错,这就是我们通过命令行自动我们生成的maven项目的骨架,在maven项目的开发中,所有的源代码放在文件夹 /src/main/java/下, 所有的单元测试代码放入 /src/test/java/。可以参考官方网站的Maven标准目录 附加的一个标准的pom.xml被生成。这个POM文件类似于Ant的build.xml文件,它描述了整个项目的信息,一切从目录结构、项目的插件、项目依赖、如何构建这个项目等,关于pom的介绍我会在下文中进行讲解,你也可以参考官方网站的POM官方指南
然后我们便可以打开IDEA-Import Project操作导入helloword包下pom.xml一路next即可打开该maven项目。
这样我们便使用第一种使用maven命令行的方式创建了我们的maven项目。
3.2使用IDEA创建Maven项目
而第二种方式更加简单,只需打开IDEA-New Project,出现如下窗口:
选择左边的maven项目,然后点击右边框框中的任意一种模版(根据选择的模版生成我们的项目工程目录结构,选择上面讲的webapp和quickstart都可,但是二者创建的目录结构是有差别的,我们先选择创建quickstart样式的模版,然后选择创建webapp样式的模版,对比一下二者的目录结构区别)即可next到这一步:
填写我们的项目名和包名然后next到这一步:

然后继续填写我们的项目名后,点击finish完成创建,这样我们便通过第二种方式直接用IDEA创建了我们的maven项目。创建的项目工程结构如图:

发现App.java和AppTest.java图标显示不对,因为它为我们自动生成的pop.xml文件中添加了依赖但是没有自动引入jar包,需要我们点击右下角(也许你的出现在左上角?)的Enable Auto-Import:

然后我们的工程才算彻底搭建好,如下:

如上是采用的生成工程目录的模版是quickstart的,接下来演示创建模版是webapp的,而往往我们的JavaWeb采用的工程模版就是通过webapp生成的,接下来演示通过webapp创建的maven项目,还是打开IDEA–>New Project,出现如下界面:

然后next和上述quickstart的步骤一样,一直到finish,我们创建的maven项目工程结构如下:

和上述quickstart创建的模版区别一看便知,为了让此maven项目符合官网上规定的标准工程结构,所以在IDEA中打开项目配置,添加项目没有包如在src包下添加test包,在test包下添加java包和resources包,在main包下添加java包然后点击apply即可,如下图:
到此我们便完成了第一个maven项目的创建,接下来我要进行Maven核心知识的讲解,见下篇文章Maven核心知识(待更新)。
maven idea的更多相关文章
- 【分享】标准springMVC+mybatis项目maven搭建最精简教程
文章由来:公司有个实习同学需要做毕业设计,不会搭建环境,我就代劳了,顺便分享给刚入门的小伙伴,我是自学的JAVA,所以我懂的.... (大图直接观看显示很模糊,请在图片上点击右键然后在新窗口打开看) ...
- 理解Maven中的SNAPSHOT版本和正式版本
Maven中建立的依赖管理方式基本已成为Java语言依赖管理的事实标准,Maven的替代者Gradle也基本沿用了Maven的依赖管理机制.在Maven依赖管理中,唯一标识一个依赖项是由该依赖项的三个 ...
- 【微框架】Maven +SpringBoot 集成 阿里大鱼 短信接口详解与Demo
Maven+springboot+阿里大于短信验证服务 纠结点:Maven库没有sdk,需要解决 Maven打包找不到相关类,需要解决 ps:最近好久没有写点东西了,项目太紧,今天来一篇 一.本文简介 ...
- 安装eclipse的maven插件
我们团队用maven来管理项目需要的库文件,其实以前都没听过maven,第一次接触这个,师兄要我直接去装下这个,开始以为还挺简单的,没想到中间遇到了一些小麻烦,现在把我成功安装maven的过程分享下, ...
- MAVEN学习-第一个Maven项目的构建
MAVEN安装成功之后就可以进行项目的构建和管理了: 为什么要用maven进行项目的构建和管理? 对于初学者来说一个最直接的也是最容易里的优点在于JAR包的管理,相对于以前开发一个项目的时候我们需要用 ...
- Maven 代理设置
在maven的安装目录下 %MAVEN_HOME%/conf/setting.xml 中进行设置 <proxies> <!-- proxy | Specificatio ...
- spring maven pom.xml设置
spring pom.xml设置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns= ...
- maven依赖查询地址
http://search.maven.org/#search%7Cga%7C1%7C
- maven 中snapshot版本和release版本的区别
maven中的仓库分为两种,snapshot快照仓库和release发布仓库.snapshot快照仓库用于保存开发过程中的不稳定版本,release正式仓库则是用来保存稳定的发行版本.定义一个组件/模 ...
- Maven多模块,Dubbo分布式服务框架,SpringMVC,前后端分离项目,基础搭建,搭建过程出现的问题
现互联网公司后端架构常用到Spring+SpringMVC+MyBatis,通过Maven来构建.通过学习,我已经掌握了基本的搭建过程,写下基础文章为而后的深入学习奠定基础. 首先说一下这篇文章的主要 ...
随机推荐
- 06-js的逻辑结构
<html> <head> <title>js的逻辑结构和循环结构学习</title> <meta charset="UTF-8&quo ...
- Ubuntu 16.04安装RapidSVN
使用RabbitVCS有一些不完美,比如没有把文件增加到版本库的功能,导致无法提交等问题,现在再次安装RapidSVN来弥补这些缺点. 安装: sudo apt-get install rapidsv ...
- 携程Apollo(阿波罗)配置中心的Java样例客户端启动和调试
参考:https://github.com/ctripcorp/apollo/wiki/Apollo%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97#23-java%E6%A0 ...
- ETL全量单表同步简述
ETL全量单表同步简述 1. 实现需求 当原数据库的表有新增.更新.删除操作时,将改动数据同步到目标库对应的数据表. 2. 设计思路 设计总体流程图如下: 注意点: 1.数据库合并时,选择正确的数据源 ...
- Sql查询一个列对应多个列
Sql查询一个列对应多个列 今天遇到一个问题,表table1有两个字段col1.col2两个字段.先记录下来,以后有个参考. 现在需要查询出的数据满足如下要求: 1.col1重复.col2重复的数据只 ...
- mybatis collection标签和association标签(一对多,一对一)转载
mybatis 一对一与一对多collection和association的使用 在mybatis如何进行一对一.一对多的多表查询呢?这里用一个简单的例子说明. 一.一对一 1.associati ...
- [GraphQL] Query Local and Remote Data in Apollo Link State
In this lesson, you will learn how to query local and remote data in Apollo Link State in the same c ...
- 单一责任原则(SRP)
1.就一个类而言,应该仅有一个引起它变化的原因. 2.在SRP中定义职责为:“变化的原因”. 如果你想到多个动机去改变这个类,那这个类就有多个职责
- Woody的逻辑游戏--怎样换轮胎
题目:有一个做长途运输的司机要出发了,他用作运输的车是三轮车.轮胎的寿命是2万里,如今他要进行5万里的长途运输.计划用8个轮胎完毕运输任务,如何才干做到呢? 首先将轮胎从1-8依次编号,然后例如以下所 ...
- J2SE基础:11.异常处理
1:异常的概念: 异常是程序在执行时发生的事件(异常发生在执行期间). 程序出现错误.打断原本的运行流程. 2:Java中处理异常. 在Java中.异常被封装成一个对象.(属性和方法) 3:异常产生 ...