首页 > 其他分享 >maven(2022-09-29)

maven(2022-09-29)

时间:2022-09-29 20:57:30浏览次数:46  
标签:Maven --- java 项目 09 jar 29 maven

Maven:项目构建工具,主流
整个项目架构,source,resource,test,testresource
依赖:导入的jar包。
对项目进行打包。

apache基金会

作为一个java程序员,有必要连接一下apache的官网命名规则。
项目.apache.org。

配置环境变量:
和JAVA,JDK基本一样。
新建MAVEN_H0ME:maven的安装路径
编辑PATH:新建一个%MAVEN_HOME%\bin
通过CMD:mvn -v测试配置是否成功

这个环境变量,说实话,用处不是很大,不配也没什么大问题!

Maven解压后:
conf目录,配置目录,在这个目录下有一个settings.xml,Maven的核心配置文件。

maven会自动给我们下载jar包!
在我们的JavaWEB阶段,所有的jar包都是我们下载好复制粘贴到我们的项目里。我们在使用框架开发的过程中,会导入非常多的jar包,jar包要统一管理,“版本”,这些jar包是怎么下载的,从哪下载的?

Mysql驱动从哪里下载?

我给你们的所有的jar包,同时我通过maven下载下来的!
最终我们的项目是要打包放到服务器上的!
这些jar包也得跟着一起放上去。
加入说我们的项目需要100个jar包,都复制粘贴到项目里。1M,100M。

我们现在要做的是把这些jar包放在本地,不往项目里导,通过某种方式连接到这些jar包。

通过一个配置文件,找到这些jar包,最终我们往服务器上部署项目的时候,只需要部署我们的源码,和这个配置文件。

1、这些jar包我要让他们保存在哪?
仓库是干什么的?存东西的!

E:/repository
我们通过maven下载的依赖都放在这个位置。需要手动创建这个目录。不要用中文

maven可以联网下载依赖,去哪个网下载?
默认情况下是去maven的中央仓库!在美丽国!
除非你的电脑做了特殊配置,否则基本上下不下来。
可以做一个镜像,阿里云maven镜像仓库,需要配置阿里云镜像仓库

实际上,各大编程工具已经内置了maven,当我们第一次创建maven工程时,会联网自动下载一些Maven本身需要的依赖。

src
main---源码
java---源码.java
resources---资源文件
test---测试源码
java---测试源码.java
resources---测试资源文件
pom.xml就是我们上面说的那个配置文件,来管理依赖的。

maven生命周期
target目录:存放编译后的java文件
默认(default)真正进行项目编译打包等工作阶段
1、validate:验证项目是否正确
2、compile:编译,编译项目的源代码*****
3、test:测试,junit这些测试不应该要求代码被打包或部署
4、package:进行打包。*****
java工程-------.jar
javaweb工程----.war
5、verify:验证,对集成测试结果执行检查
6、install:安装*****
所有的项目都可以编程jar包(依赖)
7、deploy:部署,将最终的包赋值到远程存储库,和其他开发人 员共享(maven私服)
清理(clean)执行必要的清理工作。删除target文件夹
站点(site)生成项目报告,站点,发布站点(基本不用)

Maven坐标:
GroupId:团体组织标识符,它一般情况下以创建这个组织的名称的逆向域名开头。
ArtifactId:项目名。单独项目的唯一标识符。
Version:版本
通过这三个向量来定位Maven仓库中其jar包所在的位置,把对应的jar包引入到工程中。

依赖范围:
compile:默认。编译范围,编译,测试,运行都有效。参与打包,安装。
test:测试范围,只有在test范围下才能用,不参与打包,安装。
provided:编译和测试,不参与打包,安装。
runtime:运行,只参与运行。
system:废弃。系统。
import:废弃。引入。

依赖的传递:(常识性问题)
假如demo01中引入了mysql,servlet,fastjson,codec依赖,我把demo01install到了我的本地仓库,或者是maven私服,如果其他成员通过GAV引入了我的demo01,demo01中的mysql,servlet,fastjson,codec会不会一起引入进来???
会!!!!!

Gradle:安卓领域,据说未来会取代maven
Ant:淘汰

标签:Maven,---,java,项目,09,jar,29,maven
From: https://www.cnblogs.com/369-1/p/16743034.html

相关文章

  • JAVA学习9/29
    1、继承extends//关键字1.1、测试:子类继承父类后,能使用子类对象调用父类方法吗?可以,因为子类继承父类后,这个该方法就属于子类了。当然可以使用子类对象来调用1.......
  • 20220929
    20220929(中)t1智力大冲浪传送门思路​ 非常明显的贪心,能尽可能的少扣钱就少扣钱,即将每个游戏按其价值从大到小排序。那么考虑如何在该基础上加入时间的情况下贪心。......
  • 随笔0929
     ......
  • 常用Maven插件介绍
    exec-maven-plugin​​http://mojo.codehaus.org/exec-maven-plugin/​​exec-maven-plugin很好理解,顾名思义,它能让你运行任何本地的系统程序,在某些特定情况下,运行一个Maven......
  • com.panie 项目开发随笔(NoF)_环境搭建(2016.12.29)
    (一)最近做的框架一直在spring+springmvc+mybatis的基础上,使用框架的好处自然是简化了自己的开发工作,定义好大的结构体系后就在里面套用方法了!可是框架的毛病......
  • 闲话 22.9.29
    闲话发现很多人都会很用心来写闲话。gtm数了数muel的闲话一共514字是不是我写个114字就达到标准了呢?gtm在闲话里不断记录他人的话语。似乎闲话就是这种东西,记录你当......
  • 面试题 01.09. 字符串轮转【暴力模拟】【尾插】
    题目字符串轮转。给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成(比如,waterbottle是erbottlewat旋转后的字符串)。难度:简单提示:字符串长度在[0,100000]范围内......
  • 【设计模式】29.结构型模式-装饰模式(Decorator)
    一、描述装饰模式能够在不改变原来对象结构和功能的前提下,动态的给对象增加新的功能,相比于使用子类扩展的方式,装饰模式更加的灵活。角色(1)抽象构件类:为具体构件类和装饰......
  • 2022-09-28 隐藏掉uniapp出现的HTML5+ Runtime提示框
    把uniapp项目打包到app上并运行时会出现一个版本兼容检查提示框,可以通过配置manifest.json中的app-plus来控制是否显示。"compatible":{"ignoreVersion":false,/......
  • 09.利用JS在输入框里输入文字
    例如在百度输入框里输入“王文忠”:在网页上控制台里可输入:document.querySelector("#kw").value="王文忠"其中的kw是输入框的ID 也可以输入:document.querySelector(......