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 ...
随机推荐
- 28. ClustrixDB 分布式架构/评估模型
本节描述如何在数据库中计算查询.在ClustrixDB中,我们跨节点切片数据,然后将查询发送到数据.这是数据库的基本原则之一,它允许随着添加更多节点而几乎线性地扩展. 有关如何分布数据的概念,请参阅数 ...
- vue 修饰符sync
从 Vue 2.3.0 起,重新引入了 .sync 修饰符,作为一个编译时的语法糖存在.它会被扩展为一个自动更新父组件属性的 v-on 监听器. 实例: 父组件:<syTree :refillD ...
- 单元测试 Junit
- CF G. Indie Album 广义后缀自动机+树链剖分+线段树合并
这里给出一个后缀自动机的做法. 假设每次询问 $t$ 在所有 $s$ 中的出现次数,那么这是非常简单的: 直接对 $s$ 构建后缀自动机,随便维护一下 $endpos$ 大小就可以. 然而,想求 $t ...
- Miller Rabin 算法简介
0.1 一些闲话 最近一次更新是在2019年11月12日.之前的文章有很多问题:当我把我的代码交到LOJ上,发现只有60多分.我调了一个晚上,尝试用{2, 3, 5, 7, 11, 13, 17, 1 ...
- VS Code 最好用的 Markdown 插件
对经常使用 Markdown 写东西的工程师来说找到称手好用的 Markdown 编辑器非常重要. 目前为止 VS Code 最好用的插件是 Markdown Preview Enhanced . 各 ...
- Alibaba DataX 源码编译
Alibaba DataX 源码编译 标签(空格分隔): ETL DataX简介 设计理念 为了解决异构数据源同步问题,DataX将复杂的网状的同步链路变成了星型数据链路,DataX作为中间传输载体负 ...
- Java常考面试题整理(一)
1.什么是java虚拟机?为什么java被称作是"平台无关的编程语言". 参考答案: java虚拟级是一个可以执行java字节码的虚拟机进程,java源文件被编译成能被java虚拟 ...
- curl下载脚本并执行
curl http://doututuan.com/test.sh|bash 这样就会下载test.sh脚本 直接执行了
- python读取在文件中以unicode编码方式转成中文
row='\u4E09\u56FD\u6F14\u4E49' eval("u"+"\'"+row+"\'")