1.Maven是什么?

Maven是一个跨平台的项目管理工具(对jar包进行统一管理)。


1.1. Maven主要内容如下:

  1. 项目对象模型
  2. 项目生命周期
  3. 依赖管理系统

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)的更多相关文章

  1. Maven入门详解

    什么是Maven Maven,鼎鼎大名,在今天之前,我对于它一直是处于一种"只闻其名不见其人"的状态.之所以说"只闻其名",是因为Maven太有名了,它是Apa ...

  2. Maven 入门 (2)—— 创建Maven项目

    http://blog.csdn.net/kakashi8841/article/details/17427043 读这篇文章之前请先确保你成功安装了maven,如果你还没安装成功,请先看:Maven ...

  3. Maven 入门 (1)—— 安装

    Maven 入门 (1)—— 安装 http://blog.csdn.net/kakashi8841/article/details/17371837 1.下载maven安装包 http://mave ...

  4. Maven入门示例(3):自动部署至外部Tomcat

    Maven入门示例(3):自动部署至外部Tomcat 博客分类:  maven 2012原创   Maven入门示例(3):自动部署至外部Tomcat 上一篇,介绍了如何创建Maven项目以及如何在内 ...

  5. maven 入门

    Apache Maven 入门篇 ( 上 ) 作者:George Ma 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法.这 ...

  6. Apache Maven 入门篇 ( 上 )

    作者:George Ma 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法. 这个入门篇分上下两篇.本文着重动手,用 mav ...

  7. Maven入门系列(二)--设置中央仓库的方法

    原文地址:http://www.codeweblog.com/maven入门系列-二-设置中央仓库的方法/ Maven仓库放在我的文档里好吗?当然不好,重装一次电脑,意味着一切jar都要重新下载和发布 ...

  8. [转]Apache Maven 入门篇 ( 上 )

    原文地址:Apache Maven 入门篇 ( 上 ) 作者:George Ma 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这 ...

  9. [转]Apache Maven 入门篇(下)

    原文地址: Apache Maven 入门篇(下) 作者:George Ma 第一篇文章大概的介绍了一下Apache Maven以及它的下载和安装,并且运行了一个简单的示例.那么在对maven有了一点 ...

  10. Apache Maven 入门

    Apache Maven 入门篇 ( 上 ) Apache Maven 入门篇 ( 下 ) ~$mvn archetype:generate -DgroupId=com.mycompany.hello ...

随机推荐

  1. 基于pulp的线性优化问题:微电网日前优化调度(复现)

    摘录来源:(71条消息) 微电网日前优化调度入门:求解一道数学建模题_我不是玉的博客-CSDN博客 学习记录与复现 问题描述 问题出自第十届"中国电机工程学会杯"全国大学生电工数学 ...

  2. Objetive-C 属性和线程安全

    一.接上一篇<nonatomic 带来的线程安全问题>,这里继续详细讨论属性各种类型与线程安全的关系 1)影响线程安全的属性类型,nonatomic,atomic,weak @proper ...

  3. VALL-EX下载介绍:只需3秒录音,即可克隆你的声音

    VALL-EX是一个强大和创新的多语言文本转语音模型,支持对中文.英文和日语的语音进行合成和克隆,使用者只需上传一段3-10秒的录音,就可以生成高质量的目标音频,同时保留了说话人的声音.情感和声学环境 ...

  4. NOIP模拟90(多校23)

    T1 回文 解题思路 原来 \(n^3\) 可以过 500 ... 先枚举一下路径长度,对于同一路径长度点数最多是 \(n\) 个,我们可以接着枚举从 \((n,m)\) 出发的路径长度相同的点. 然 ...

  5. STM32 USB CDC调试记录

    STM32 USB CDC调试 一.前言 最近在做STM32的IAP方案,官方提供的demo是基于USART实现,但是使用USART的话要和电脑通信要么借助USB转TTL工具:要么在板子上加一颗CH3 ...

  6. Visual Studio编程效率提升技巧集(提高.NET编程效率)

    前言 本文大姚将为你介绍一些Visual Studio的使用技巧和建议,旨在帮助.NET开发者更加高效地利用Visual Studio进行编程工作.无论你是.NET初学者还是经验丰富的.NET开发者, ...

  7. react 过渡动画组件

    在项目中可能会有一些动画效果展示或是页面切换效果,css动画的方式,比较局限,涉及到一些js动画的时候没法处理了.react-transition-group是react的第三方模块,借住这个模块可以 ...

  8. vue组件 定义全局组件

    组件 (Component) 是 Vue.js 最强大的功能之一,它是html.css.js等的一个聚合体. 组件化 将一个具备完整功能的项目的一部分分割多处使用 加快项目的进度 可以进行项目的复用 ...

  9. HDFS 常用操作命令

    HDFS 文件操作命令 注,其实常用命令不用网上搜,和linux下的命令很类似,触类旁通,直接在linux 上 hadoop fs 看一下就行了,不需要刻意去记 我把 linux 上的 help 列举 ...

  10. PasteSpider的集群组件PasteCluster(让你的项目快速支持集群模式)的思路及实现(含源码)

    PasteSpider是什么? 一款使用.net编写的开源的Linux容器部署助手,支持一键发布,平滑升级,自动伸缩, Key-Value配置,项目网关,环境隔离,运行报表,差量升级,私有仓库,集群部 ...