Maven工程约定目录结构

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(第三方的工具)
  1. 仓库的分类
  • 本地仓库,就是你的个人计算机上的文件夹,存放各种jar
  • 远程仓库,在互联网上的,使用网络才能使用的仓库
    ①:中央仓库,最权威的,所有的开发人员都共享使用的一个集中的仓库,
    中央仓库的地址:https: //repo.maven.apache.org
    ②:中央仓库的镜像: 就是中央仓库的备份,在各大洲,重要的城市都是镜像。
    ③:私服在公司内部,在局域网中使用的,不是对外使用的。
  1. 仓库的使用,maven仓库的使用不需要人为参与。
    开发人员需要使用mysql驱动—>maven首先查本地仓库—>私服—>镜像—>中央仓库

在这里插入图片描述

5.pom:项目对象模型,是一个 pom.xml 文件

  1. 坐标:唯一值,在互联网中唯一标识一个项目的
<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>
  1. packaging:打包后压缩文件的扩展名,默认是jar , web应用是war
    packaging可以不写,默认是jar

  2. 依赖
    dependenciesdependency ,相当于是java代码中import
    你的项目中要使用的各种资源说明,比如项目要使用mysql驱动

<dependencies>
<-―依赖java代码中import -->
<dependenay>
<groupId>mysql</grouprd>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.13</version>
</dependency>
</dependencies>I
  1. properties:设置属性

  2. build : maven在进行项目的构建时,配置信息,例如指定编译java代码使用的jdk的版本等

posted @ 2020-12-27 14:21  兮动人  阅读(46)  评论(0编辑  收藏  举报