一、Maven是什么?
1.稍微官方的解释(太官方的就不用Copy了)
Maven 就是一个专门用于构建和管理Java相关项目的工具,在没有包管理工具之前,我们做一个 Java 项目,需要第三方依赖包就需要去网上将别人打好的 Jar 包下载到本地,然后手动添加到项目中,如果项目需要的jar包特别的多,可想而知项目会有多大...还有就是操作麻烦,比如版本控制,需要新版本怎么办,重新下载,重新指定。而用了 Maven 之后,需要什么包,直接在 pom.xml 中添加几行 xml 代码,指定包名、版本等,就可以了。另外,Maven 还提供了很多插件,比如常用的打包插件,调试插件等,方便开发和部署。
优势:
其一是使用Maven管理的Java 项目都有着相同的项目结构。 有一个pom.xml 用于维护当前项目都用了哪些jar包;所有的java代码都放在 src/main/java 下面; 所有的测试代码都放在src/test/java 下面 。
其二是便于统一维护jar包。maven风格的项目,把所有的jar包都放在了本地"仓库“ 里,然后哪个项目需要用到这个jar包,只需要给出jar包的名称和版本号就行了,这样就实现了jar包共享,避免每一个项目都有自己的jar包带来的麻烦。
2.个人
我为什么就来写这篇文章呢?就是因为我来学Maven了,我又为什么要来学这个玩意儿?就是因为我知道它是一个对我有用的工具,在学Maven之前,开始学习Java语言,我是用的Eclipse软件进行开发的,前几天由于各种需要,我要用IDEA啦,那么问题就来了,我现在想把以前用Eclipse开发的项目移植到IDEA上面,如果你也和我一样是小白,那你猜猜这个过程怎么样?如果是大佬,那自然是小事儿了... 对于我这个小白来说我就移植项目花了6个小时吧应该,而且真的心态爆炸了呀...所以,我就去学习了呀...
二、Maven的下载安装配置
1.下载
下载地址:http://maven.apache.org/download.cgi
2.安装配置
解压路径: F:\apache-maven-3.8.1\bin
配置系统环境变量:
检测是否安装成功:首先打开dos命令窗口,然后输入命令:mvn -v 如果出现版本号就表示成功了,这个还是很简单的一般是不会有什么问题,如果真的出现什么意外,可能是不小心将路径弄错了,再返回去检查一下系统环境变量的设置哦。
三、Maven项目固定的目录结构
- maven01:项目文件夹
- src/main/java:存放项目的java源代码,里面可再建包
- src/main/resources:存放项目的资源文件
- test/main/java:测试类的源代码
- test/main/resources:测试时需要的资源文件
- pom.xml:在里面配置项目所需要依赖的jar包
四、手动编译第一个Maven项目
1.编写pom.xml文件的基本内容:
```<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.dong</groupId>
<artifactId>maven01</artifactId>
<version>0.0.1-SNAPSHOT</version>
</project>
```
2.在src/main/java 文件夹下面建立包,然后建立Hello.java,在其中编写输出hello maven的代码
```
package com.dong.demo;
public class Hello{
public static void main(String[] args){
System.out.println("Hello World!");
}
}
```
3.进入dos命令窗口并定位到项目的根目录(必须!!!)
4.执行Maven命令编译java文件:mvn compile
4.执行Main方法mvn exec:java -Dexec.mainClass="com.dong.demo.Hello"
五、总结
好了,到这里就结束了,其中主要的任务就是完成了Maven的配置安装,手动编译只是用来玩玩,后期都会在开发环境中编译的,但是也不是不重要,还是可以多多了解一下底层实现的,编译环境都把我们变成了懒人,在以后开发项目的时候固然是好的,现在还是学习阶段的小白就要多多去了解啦,恩呢,小白这就去了... 先睡觉,明天再去... haha...