Maven从入门到精通(一)
maven是一个项目管理工具,我的后续将会根据这个思维导图给大家由浅到深讲解Maven是如何管理我们的项目,以及我们如何更好的使用Maven

maven在开发过程中功能主要有三个方面:
管理依赖 (POM引入依赖即可自动下载对应jar包)
自动化构建项目(源程序-->(编译,测试,打包,安装,部属)-->可运行程序)
管理项目信息
Maven基本:
一 安装:Maven下载地址:http://maven.apache.org/download.cgi
下载后解压到任意目录(目录最好不要带有中文),然后配置环境变量(注意:配置Maven时,环境变量里面一定要存在JAVA_HOME,也就是配置好JDK环境)
系统变量
添加MAVEN_HOME 路径就是maven的安装目录

path添加环境变量

如果以上全部配置好,我们使用cmd打开命令提示符mvn -v即可看到如下界面

二 使用
Maven工程的目录结构:约定 这是maven的基础语法 maven的所有东西都是建立在约定好的目录结构之上的。体现了软件开发的一种重要思想:约定优于配置 配置优于编码
Maven借助约定实现声明式服务能力。
1、maven工程目录结构:
Hello
|---src
|---|---main
|---|---|---java
|---|---|---resources
|---|---test
|---|---|---java
|---|---|---resources
|---pom.xml
HelloWeb
|---src
|---|---main
|---|---|---java
|---|---|---resources
|---|---|---webapp
|---|---|---|---WEB-INF
|---|---|---|---|---web.xml
|---|---|---|---|---lib
|---|---|---|---pages
|---|---test
|---|---|---java
|---|---|---resources
|---pom.xml
2、创建maven工程:(在任意目录使用cmd打开命令提示符执行即可 原型为我们创建的目录其实并不完整,可以参考上面完整目录自行创建)
普通Java工程
mvn archetype:generate -DgroupId=com.bj.maven -DartifactId=maven-01-hello -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
Web工程
mvn archetype:generate -DgroupId=com.bj.maven -DartifactId=maven-02-helloweb -DarchetypeArtifactId=maven-archetype-webapp -DinteractivMode=false

第一个箭头 使用默认版本直接回车
第二个箭头 输入y确认就可以了
一个最简单的POM.xml就出现了
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.bj.maven</groupId>
<artifactId>maven-02-helloweb</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>maven-02-helloweb Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>maven-02-helloweb</finalName>
</build>
</project>
以上是maven最基础的环境搭建及如何创建一个简单的MAVEN工程,并且了解了MAVEN的基本语法.
下一章我们将会带领大家了解MAVEN更深层次的POM文件,我们学习Maven最主要的就是学习Maven的POM文件.敬请期待...
Maven从入门到精通(一)的更多相关文章
- Maven从入门到精通(四)
这一篇我会着重讲解Maven的核心命令及作用,Maven在项目构建各个阶段的作用. 1.maven生命周期模型: 1.1.清洁(clean) 1.2.默认(default) 1.3.站点(site) ...
- Maven从入门到精通(三)
我们已经了解了Maven的环境搭建以及POM的主要标签及作用,接下来我们要讲解一下Maven的仓库以及jar下载的一个过程 首先我们要明白仓库及以下一些概念 1.仓库: 在Maven中,任何一个 ...
- Maven从入门到精通(二)
上一篇我们讲解了Maven项目的基本目录结构,也已经安装了Maven的开发环境,接下来我们要重点讲解一下Maven最核心的灵魂pom.xml文件 POM:Project Object Model 项目 ...
- cucumber_java从入门到精通(5)使用maven创建cucumber_java项目
cucumber java从入门到精通(5)使用maven创建cucumber java项目 前几节我们已经在感性上认识了cucumber的基本功能以及BDD测试的基本流程,我们渐进重构,一步一步的向 ...
- Spring Boot从入门到精通(二)配置GitHub并上传Maven项目
简单介绍一下GitHub,它是一个面向开源及私有软件项目的托管平台,因为只支持git作为唯一的版本库格式进行托管,故名GitHub. GitHub于2008年4月10日正式上线,除了Git代码仓库托管 ...
- Android Studio教程从入门到精通
最新2.0系列文章参考: Android Studio2.0 教程从入门到精通Windows版 - 安装篇Android Studio2.0 教程从入门到精通Windows版 - 入门篇Android ...
- 2017最新技术java高级架构、千万高并发、分布式集群、架构师入门到精通视频教程
* { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩展. ...
- 《java从入门到精通》学习记录
目录 <Java从入门到精通>学习记录 3 基础的基础部分: 3 一. 常量与变量 3 1. 掌握: 3 (1) .常量与变量的声明方式: 3 (2) .变量的命名规则: 3 (3) .变 ...
- Android Studio2.0 教程从入门到精通Windows版 - 入门篇
http://www.open-open.com/lib/view/open1468121363300.html 本文转自:深度开源(open-open.com)原文标题:Android Studio ...
随机推荐
- Socket的通信机制?
套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元.它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议 ...
- 【leetcode】1248. Count Number of Nice Subarrays
题目如下: Given an array of integers nums and an integer k. A subarray is called nice if there are k odd ...
- Python初记
------Python是一个优雅的大姐姐 我是通过<老男孩Python>学习Python,根据我手上的资源学习Python,资料不齐,但是这个是最好的,边学习边寻找有没有相同的类型. 在 ...
- LocalDate/LocalDateTime与String的互相转换示例(附DateTimeFormatter详解)
摘自:https://www.jianshu.com/p/b7e72e585a37 LocalDate/LocalDateTime与String的互相转换示例(附DateTimeFormatter详解 ...
- Override和Overload的含义与区别
overload是重载,重载是一种参数多态机制,即代码通过参数的类型或个数不同而实现的多态机制. 是一种静态的绑定机制(在编译时已经知道具体执行的是哪个代码段). override是重写,重写是一种 ...
- C++入门经典-例3.22-循环嵌套打印三角形
1:代码如下: // 3.22.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> usin ...
- js判断某个字符串是否包含另一个字符串
1.indexOf():推荐,可返回某个指定的字符串值在字符串中首次出现的位置.如果要检索的字符串值没有出现,则该方法返回 -1. var str = "123" console. ...
- Java第09次实验(IO流)--实验报告
0.字节流与二进制文件 我的代码 用DataOutputStream和FileOutputStream将Student对象写入二进制文件student.data package test; impor ...
- Error running 'Tomcat 9.0.241': port out of range:-1
这种情况很容易解决,别急. 修改默认配置,tomcat的server.xml检查一下,端口不能是-1, 一般会选80,或者1-65535之间的任意一个整数 路径:C:\Program Files\Ap ...
- wls应用命令部署与卸载
1.查看wls节点运行状态 [root@localhost lib]# jps [root@localhost lib]# ss -tnlp|grep 23705 2.配置wls环境变量 [deplo ...