Maven入门(idea)
1.Maven是什么?
Maven是一个跨平台的项目管理工具(对jar包进行统一管理)。
1.1. Maven主要内容如下:
- 项目对象模型
- 项目生命周期
- 依赖管理系统
1.2. 使用Maven的好处:
- 项目构建自动化
- 依赖管理统一化
Maven不仅是一个项目构建工具,也是一个项目管理工具,它对我们项目的结构做了约定(统一开发规范),使用Maven创建项目后,那么你的项目源文件,
类文件都被Maven掌控着。项目构建是指项目的编译,测试,打包,部署等一个项目的生命周期。
1.3. Maven项目Jar包管理方式:
图解:

2.Idea创建Maven项目
2.1. idea下的Maven
idea自带Maven,不需要自己另外下载安装。
打开idea后,点击File-new-Project,可以看到如下界面。选中Maven后,选择jdk版本,勾选Greate from archetype,找到图中的选项的位置
这两个就是我们开发普通Java项目和Web项目所用到的配置方式。

2.2. 使用Maven创建普通java项目
选择2.1中的普通项目即可,点击下一步,填写相关信息。版本号默认生成或者填自己想要的信息都可以。
用于标记当前版本。三个单词的缩写为GAV(坐标)。

点击下一步。
当前页面可以看到如下信息。idea自带的Maven版本,默认的配置文件地址(settings.xml)不建议修改。
本地仓库地址(用于存储远程下载的Jar包),如要修改则将settings.xml下配置的路径也更新。

Settings.xml文件
默认情况下.m2下面是没有settings.xml这个配置文件的,需要自己放一个进去。
这里提供一个配置方式,也可以自己创建。
<?xml version="1.0" encoding="UTF-8"?>
<settings>
<localRepository>C:\Users\16779\.m2\repository</localRepository><!--需要改成自己的maven的本地仓库地址-->
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url> <!--阿里云在线仓库地址-->
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>nexus</id>
<name>local private nexus</name>
<url>http://maven.oschina.net/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories> <pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>local private nexus</name>
<url>http://maven.oschina.net/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile></profiles>
</settings>
点击下一步,填写好项目储存地址后点击finish项目据创建好了。
如果是第一次创建,会自动下载Jar包,下载过程中会在右下角弹出是否自动导入Jar包,选择Auto Import。
也可以直接去setting里面设置。

如果不想要自动导包,可以直接右击项目导包

Jar包导入完成后,项目结构如下。

项目新建完成之后修改Maven配置文件地址和本地仓库地址

Maven项目的生命周期
Maven项目的生命周期包括项目的清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成等几乎所有的构建步骤。
一般只用到编译,测试,打包和清理。
- compile
编译生成cass文件
- clean
调用clean生命周期的clean阶段,对项目进行清理,清除编译好的class文件
- test
调用default生命周期的test阶段,对test目录中的源码进行编译
- install
调用default生命周期的install阶段,对项目打包并部署到本地仓库,项目必须已经选择JDK环境
idea操作Maven生命周期的方式:
点击idea左下角的小框框,选择其中的Maven

此时会弹出下面的窗口,Lifecycle就是Maven的上面周期,选择要操作的选项,点击上面的运行按钮即可。

备注:仅供参考,如有错误,欢迎指出。
Maven入门(idea)的更多相关文章
- Maven入门详解
什么是Maven Maven,鼎鼎大名,在今天之前,我对于它一直是处于一种"只闻其名不见其人"的状态.之所以说"只闻其名",是因为Maven太有名了,它是Apa ...
- Maven 入门 (2)—— 创建Maven项目
http://blog.csdn.net/kakashi8841/article/details/17427043 读这篇文章之前请先确保你成功安装了maven,如果你还没安装成功,请先看:Maven ...
- Maven 入门 (1)—— 安装
Maven 入门 (1)—— 安装 http://blog.csdn.net/kakashi8841/article/details/17371837 1.下载maven安装包 http://mave ...
- Maven入门示例(3):自动部署至外部Tomcat
Maven入门示例(3):自动部署至外部Tomcat 博客分类: maven 2012原创 Maven入门示例(3):自动部署至外部Tomcat 上一篇,介绍了如何创建Maven项目以及如何在内 ...
- maven 入门
Apache Maven 入门篇 ( 上 ) 作者:George Ma 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法.这 ...
- Apache Maven 入门篇 ( 上 )
作者:George Ma 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法. 这个入门篇分上下两篇.本文着重动手,用 mav ...
- Maven入门系列(二)--设置中央仓库的方法
原文地址:http://www.codeweblog.com/maven入门系列-二-设置中央仓库的方法/ Maven仓库放在我的文档里好吗?当然不好,重装一次电脑,意味着一切jar都要重新下载和发布 ...
- [转]Apache Maven 入门篇 ( 上 )
原文地址:Apache Maven 入门篇 ( 上 ) 作者:George Ma 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这 ...
- [转]Apache Maven 入门篇(下)
原文地址: Apache Maven 入门篇(下) 作者:George Ma 第一篇文章大概的介绍了一下Apache Maven以及它的下载和安装,并且运行了一个简单的示例.那么在对maven有了一点 ...
- Apache Maven 入门
Apache Maven 入门篇 ( 上 ) Apache Maven 入门篇 ( 下 ) ~$mvn archetype:generate -DgroupId=com.mycompany.hello ...
随机推荐
- 鸿蒙HarmonyOS实战-Web组件(基本使用和属性)
前言 Web是一种基于互联网的技术和资源的网络服务系统.它是指由许多互连的计算机组成的全球性计算机网络,使用户能够通过浏览器访问和交互式使用各种信息和资源,如网页.文档.图片.视频.音频等.通过Web ...
- fabric compose文件解读(peer篇)
peer是fabric中的基础单元,主要负责背书,验证交易合法性,保存区块链数据,查询数据.peer与orderer配合完成区块链的全部功能,orderer可以比作是管理员,peer属于是干货的员工, ...
- Linux设备驱动--轮询操作
注:本文是<Linux设备驱动开发详解:基于最新的Linux 4.0内核 by 宋宝华 >一书学习的笔记,大部分内容为书籍中的内容. 书籍可直接在微信读书中查看:Linux设备驱动开发详解 ...
- (八十八)c#Winform自定义控件-转子
官网 http://www.hzhcontrols.com/ 前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kw ...
- JS注释 JS变量
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- 剑指Offer-62.二叉搜索树的第k个结点(C++/Java)
题目: 给定一棵二叉搜索树,请找出其中的第k小的结点.例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4. 分析: 二叉搜索树的中序遍历结果正好是按数值升序排列的结 ...
- C#.NET CORE .NET8连接SQL SERVER 2008 R2 报:证书链是由不受信任的颁发机构颁发的
一.C#.NET CORE .NET8连接SQL SERVER 2008 R2 报:证书链是由不受信任的颁发机构颁发的 报错内容: A connection was successfully est ...
- php反序列化个人笔记
反序列化 什么是反序列化? 格式转换 序列化:对象转换为字符串或者数组等格式 反序列化:将数组或字符串转换成对象 为什么会出现安全漏洞? 魔术方法 如何利用漏洞? 通过构造pop链,找到代码的逻辑漏洞 ...
- Externalizable接口实现序列化与反序列化
Externalizable接口实现序列化与反序列化 package com.example.core.mydemo.java; import com.example.core.mydemo.json ...
- Python使用.NET开发的类库来提高你的程序执行效率
Python由于本身的特性原因,执行程序期间可能效率并不是很理想.在某些需要自己提高一些代码的执行效率的时候,可以考虑使用C#.C++.Rust等语言开发的库来提高python本身的执行效率.接下来, ...