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)下载什么东西了
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/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
的版本等