快速学习Maven构建项目(一)

快速学习Maven构建项目(一)

 

很重要:我们应该知道它的读音,英式美式看个人习惯。

快速学习Maven构建项目(一)_第1张图片

 

学习参考视频:https://www.bilibili.com/video/av38517296/?p=7

Part1.Maven入门

 

  1. 下载、安装、配置Maven的环境变量
  1. http://maven.apache.org/download.cgi
  2. 安装JDK
  3. 配置环境变量:

Win+r打开运行窗口

输入sysdm.cpl打开系统属性->高级->环境变量

新建系统变量,变量名:MAVEN_HOME,变量值:Maven安装路径;

在Path下追加一条属性指向Maven的bin目录%MAVEN_HOME%/bin

 

  1. Maven的优点
  1. Jar包管理:

从Maven中央仓库获取规范的jar包以及相关依赖的jar包,避免自己下载到错误的jar包;

本地仓库统一管理jar包,使jar包与项目分离,减轻项目体积。

 

快速学习Maven构建项目(一)_第2张图片

 

Maven项目通过坐标的方式从本地仓库获取jar包;

  1. 坐标:由公司/组织名(groupId)+项目名/子项目名(artifactId) + 版本号(version)组成;
  2. 本地仓库:存放很多jar包,供Maven项目使用;
  3. Maven通过建立本地仓库索引,可以快速找到符合要求的jar包,从而解决效率问题;
  4. 多个Maven项目都可以从本地仓库中获取jar包;
  5. 设置本地仓库:maven根目录->conf->settings.xml,将localRepository标签中的路径替换成自己本地仓库的路径;

Maven三种仓库的概念:本地仓库、远程仓库、中央仓库

本地仓库(由自己维护),远程仓库(私服,由公司维护),中央仓库(第三方团队维护),国内一般将中央仓库设置为阿里云Maven仓库镜像,下载较快。

Maven项目从本地获取需要的jar包,如果没有jar包:

没配置远程仓库,去中央仓库下载到本地仓库。

配置了远程仓库,远程仓库也没有jar包,去中央仓库下载jar包到远程仓库。

  1. maven由纯java语言开发,具有跨平台型,可以在windows、linux、mac上使用。
  2. 清晰的项目结构;
  3. 使用Maven将大型项目按照模块拆分成若干个工程,不同的团队维护各自的工程,可以大大提升开发效率;

Eg:比如淘宝分为商品管理、用户管理、订单管理等模块。

 

Maven项目基本目录结构:

Main里面为代码所存放的位置

src/main/Java存放项目代码

src/main/java/Resources里存放配置文件,比如ssm框架的配置文件

src/main/webapp相当于eclipse中的webContent,myeclipse的webRoot

 

Test里面存放Junit单元测试的代码(使用比较少)

Src/test/java存放源码

Src/test/resources存放Jnuit单元测试需要的配置文件(不放也可以,如果不放从main里面的配置文件中读取)

Maven工程的启动:

到Maven工程的目录下,打开cmd。转到工程对应的盘下,cd 全路径

进入到目录下之后 mvn tomcat:run,之后就可以打开浏览器测试啦。

一键构建项目:使用如上命令,操作系统中无需安装eclipse和tomcat

 

如何配置到阿里云仓库下载?

Settings.xml中:

      

      alimaven

      aliyun maven

      http://maven.aliyun.com/nexus/content/groups/public/

          central

   

 

 

Pom.xml详解:

Dependency:依赖标签,配置项目中依赖的jar包坐标,通过坐标到本地仓库找

 

 

 

Maven常用命令:

  1. Clean:    清理编译后的目录(target)
  2. Compile:    编译,只编译main目录,不编译test中的代码;
  3. Test-compile:编译test目录中的代码;
  4. Test:   运行test里边的代码;
  5. Package:    打包;

Java项目->打成jar包;

Web项目->打成war包;

  1. install:发布项目到本地仓库,用在打jar包上,打成jar包可以被其他项目使用;
  2. tomcat:run  一键构建项目;

你可能感兴趣的:(java)