1. maven约定的目录结构,约定是大家都遵循的一个规则.
每一个maven项目在磁盘中都是一个文件夹(项目-Hello)
He1lo/
---/src
------/main #放你主程序java代码和配置文件
----------/java #你的程序包和包中的java文件
----------/ resources #你的java程序中要使用的配置文件
-----/test #放测试程序代码和文件的(可以没有)
---------/java #测试程序包和包中的java文件
--------/resources #测试java程序中要使用的配置文件
---/pom.xml #maven的核心文件(maven项目必须有)
- 如:创建一个maven项目名为
Hello
的目录结构
- 如在
E:\maven_work\Hello\src\main\java\com\xdr630
路径下添加以下代码,名为:HelloMaven.java
package com.xdr630;
public class HelloMaven {
public int add(int n1, int n2){
return n1+n2;
}
public static void main(String[] args) {
HelloMaven hello = new HelloMaven();
int res = hello.add(10,20);
System.out.println("10+20="+res);
}
}
- 在目录的
E:\maven_work\Hello
中打开 CMD 窗口或 git bash(也就是 pom.xml 所在的目录下),执行命令:mvn compile
- 该命令的作用是编译
src\main\java\
路径下的所以java
文件,且编译成class
文件 ,在项目根路径下生成一个target
目录存放,也叫结果目录
2. 疑问:mvn compile
编译src/main
目录下的所有java
文件的。
1)为什么要下裁
- maven工具执行的操作需要很多插件(java类–jar文件)完成的
2)下载什么东西了
- jar文件–叫做插件–插件是完成某些功能
3)下载的东西存放到哪里了.
-
默认仓库(本机仓库):
C:\Users\xdr(登录操作系统的用户名)\.m2\repository
-
https://repo.maven.apache.org :中央仓库的地址
-
执行
mvn compile
,结果是在项目的根目录下生成target
目录(结果目录),maven编译的java
程序,最后的class
文件都放在target
目录中
3. 设置本机存放资源的目录位置:
1.修改maven的配置文件,maven安装目录/conf/settings.xml
先备份settings.xml
2.修改<localRepository>
指定你的目录(不要使用中文目录),如:
4. 仓库
1)仓库是什么:仓库是存放东西的,存放maven使用的jar 和我们项目使用的jar
- maven使用的插件(各种jar)
- 项目使用的jar(第三方的工具)
- 仓库的分类
- 本地仓库,就是你的个人计算机上的文件夹,存放各种jar
- 远程仓库,在互联网上的,使用网络才能使用的仓库
①:中央仓库,最权威的,所有的开发人员都共享使用的一个集中的仓库,
中央仓库的地址:https: //repo.maven.apache.org
②:中央仓库的镜像: 就是中央仓库的备份,在各大洲,重要的城市都是镜像。
③:私服在公司内部,在局域网中使用的,不是对外使用的。
- 仓库的使用,maven仓库的使用不需要人为参与。
开发人员需要使用mysql驱动—>maven首先查本地仓库—>私服—>镜像—>中央仓库
5.pom:项目对象模型,是一个 pom.xml 文件
- 坐标:唯一值,在互联网中唯一标识一个项目的
<groupId>公司域名的倒写<groupId>
<artifactId>自定义项目名称</artifactId>
<version>自定版本号</version>
坐标对应本地仓库的文件夹
- 搜索使用的中央仓库:https://mvnrepository.com/
如:MySQL的驱动坐标
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.13</version>
</dependency>
-
packaging
:打包后压缩文件的扩展名,默认是jar
, web应用是war
packaging
可以不写,默认是jar
-
依赖
dependencies
和dependency
,相当于是java代码中import
你的项目中要使用的各种资源说明,比如项目要使用mysql驱动
<dependencies>
<-―依赖java代码中import -->
<dependenay>
<groupId>mysql</grouprd>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.13</version>
</dependency>
</dependencies>I
-
properties
:设置属性 -
build
: maven在进行项目的构建时,配置信息,例如指定编译java代码使用的jdk
的版本等