JAVA maven
创始人
2024-02-06 05:37:54
0

Maven基础

Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM)
POM(Project Object Model):项目对象模型。
项目对象模型(POM)需要加载pom.xml来确定项目,每一个pom.xml对应一个项目,依赖管理和项目对象模型是双向操纵的。依赖管理最终都是从中央仓库调用。
在这里插入图片描述
只有中间蓝色这一块是maven,蓝色内是不可以替换的,外部是可以替换的。
蓝色部分有一个蓝色虚线,虚线下方是插件,这个是maven写好的。

maven的作用
项目构建:提供标注的,跨平台的自动化项目构建方式。
依赖管理:方便快捷的管理项目依赖的资源(jar包),避免资源间的版本冲突问题。
统一开发结构:提供标注的,统一的项目结构。
maven:https://maven.apache.org/download.cgi
需要配置MAVEN_HOME环境变量 配置好之后测试
在这里插入图片描述

基础概念

仓库:用于存储资源,包含各种jar包
仓库分类:
本地仓库:自己电脑上存储资源的仓库,连接远程仓库获取资源
远程仓库:非本机电脑上的仓库,为本地仓库提供资源
中央仓库:maven团队维护,存储所有资源的仓库
私服:部门/公司范围内存储资源的仓库,从中央仓库获取资源
私服的作用:
保存具有版权的资源,包含购买或自主研发的jar
中央仓库中的jar都是开源的,不能存储具有版权的资源
一定范围内共享资源,仅对内部开放,不对外共享。

坐标

maven中的坐标用于描述仓库中资源的位置
https://repo1.maven.org/maven2/
maven坐标主要组成
groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:org.mybatis)
artifactId:定义当前Maven项目名称(通常是模块名称,例如CRM,SMS)
version:定义当前项目版本号
maven坐标的作用
使用唯一标识,唯一性定位资源位置,通过该标识可以将资源的识别与下载工作交由机器完成。

仓库配置

进入maven安装目录conf文件夹下面,有一个settings.xml配置文件
在这里插入图片描述
默认存放位置在用户.home/.m2/repository
改为咱们自己创建的
在这里插入图片描述

  D:\maven\repository

远程仓库配置
在这里插入图片描述

maven-default-http-blockerexternal:http:*Pseudo repository to mirror external repositories initially using HTTP.public String say(String name){System.out.println("hello" + name);return "hello"+name;}
}

测试代码

package com.h0neimport org.junit.Test;
import org.junit.Assert;public class DemoTest{@Testpublic void testSay(){Demo d = new Demo();String ret = d.say("maven");Assert.assertEquals("hello maven",ret);}
}

pom.xml文件


4.0.0com.h0neproject-java1.0jarjavax.elel-apitrue4.12

Maven项目构建命令
Maven构建命令使用mvn开头,后面添加功能参数,可以一次执行多个命令,使用空格分割

  mvn compile #编译mvn clean #清理mvn test #测试mvn package #打包mvn install #安装到本地仓库

mvn compile #编译 第一次会很慢 第二次就快很多了
在这里插入图片描述
在这里插入图片描述

mvn package出现了报错
在这里插入图片描述
mvn package -Dmaven.test.skip=true
用这个命令就好了
在这里插入图片描述
mvn install -Dmaven.test.skip=true 打包成功
在这里插入图片描述
插件创建工程
创建工程

  mvn archetype:generate-DgroupId={project-packaging}-DartifactId={project-name}-DarchetypeArtifactId=maven-archetype-quickstart-DinteractiveMode=false

创建java工程

mvn archetype:generate-DgroupId=com.h0ne-DartifactId=java-project-DarchetypeArtifactId=maven-archetype-quickstart-Dversion=0.0.1-snapshot -DinteractiveMode=false

创建web工程

mvn archetype:generate-DgroupId=com.h0ne-DartifactId=web-project-DarchetypeArtifactId=maven-archetype-webapp-Dversion=0.0.1-snapshot-DinteractiveMode=false

在这里插入图片描述

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...