• 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的版本等

    本文来自博客园,作者:兮动人,转载请注明原文链接:https://www.cnblogs.com/xdr630/p/15254811.html

  • 相关阅读:
    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'
    kubeadm使用外部etcd部署kubernetes v1.17.3 高可用集群
    使用 APM 中的 Service Map 了解和调试应用程序
    使用ingressnginx
    4.Ceph 基础篇 对象存储使用
    14. 第十三篇 二进制安装kubeproxy
    1.通俗易懂理解Kubernetes核心组件及原理
    安装krew
    2.第一篇 k8s组件版本及功能简介
    kubeadm 使用 Calico CNI 以及外部 etcd 部署 kubernetes v1.23.1 高可用集群
  • 原文地址:https://www.cnblogs.com/xdr630/p/15254811.html
Copyright © 2020-2023  润新知