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 ...
随机推荐
- 基于pulp的线性优化问题:微电网日前优化调度(复现)
摘录来源:(71条消息) 微电网日前优化调度入门:求解一道数学建模题_我不是玉的博客-CSDN博客 学习记录与复现 问题描述 问题出自第十届"中国电机工程学会杯"全国大学生电工数学 ...
- Objetive-C 属性和线程安全
一.接上一篇<nonatomic 带来的线程安全问题>,这里继续详细讨论属性各种类型与线程安全的关系 1)影响线程安全的属性类型,nonatomic,atomic,weak @proper ...
- VALL-EX下载介绍:只需3秒录音,即可克隆你的声音
VALL-EX是一个强大和创新的多语言文本转语音模型,支持对中文.英文和日语的语音进行合成和克隆,使用者只需上传一段3-10秒的录音,就可以生成高质量的目标音频,同时保留了说话人的声音.情感和声学环境 ...
- NOIP模拟90(多校23)
T1 回文 解题思路 原来 \(n^3\) 可以过 500 ... 先枚举一下路径长度,对于同一路径长度点数最多是 \(n\) 个,我们可以接着枚举从 \((n,m)\) 出发的路径长度相同的点. 然 ...
- STM32 USB CDC调试记录
STM32 USB CDC调试 一.前言 最近在做STM32的IAP方案,官方提供的demo是基于USART实现,但是使用USART的话要和电脑通信要么借助USB转TTL工具:要么在板子上加一颗CH3 ...
- Visual Studio编程效率提升技巧集(提高.NET编程效率)
前言 本文大姚将为你介绍一些Visual Studio的使用技巧和建议,旨在帮助.NET开发者更加高效地利用Visual Studio进行编程工作.无论你是.NET初学者还是经验丰富的.NET开发者, ...
- react 过渡动画组件
在项目中可能会有一些动画效果展示或是页面切换效果,css动画的方式,比较局限,涉及到一些js动画的时候没法处理了.react-transition-group是react的第三方模块,借住这个模块可以 ...
- vue组件 定义全局组件
组件 (Component) 是 Vue.js 最强大的功能之一,它是html.css.js等的一个聚合体. 组件化 将一个具备完整功能的项目的一部分分割多处使用 加快项目的进度 可以进行项目的复用 ...
- HDFS 常用操作命令
HDFS 文件操作命令 注,其实常用命令不用网上搜,和linux下的命令很类似,触类旁通,直接在linux 上 hadoop fs 看一下就行了,不需要刻意去记 我把 linux 上的 help 列举 ...
- PasteSpider的集群组件PasteCluster(让你的项目快速支持集群模式)的思路及实现(含源码)
PasteSpider是什么? 一款使用.net编写的开源的Linux容器部署助手,支持一键发布,平滑升级,自动伸缩, Key-Value配置,项目网关,环境隔离,运行报表,差量升级,私有仓库,集群部 ...