(maven)day39javaEE基础查漏补缺

2022/1/15 1:05:09

本文主要是介绍(maven)day39javaEE基础查漏补缺,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

maven

  • 1.Maven简介:
  • 2.jar包在maven本地仓库中是按照什么结构存放的?
  • 3.maven软件的目录结构
  • 4.maven仓库的种类
  • 5.JavaScript.then()这个方法是什么意思?
  • 6.打包完maven目录是啥样的???
  • 7.jar包和war包的区别
  • 8.maven常见的命令:
  • 9.maven有三个独立的生命周期。
  • 10.为什么分clean生命周期???
  • 11.命名规范:
  • 12.maven依赖网址:
  • 13.maven编码提示:基于一个索引(配置文件仓库)。
  • 14.构建maven仓库索引:
  • 15.gradle是什么???
  • 16.创建maven项目的时候GroupId和ArtifactId以及Version是什么意思?
  • 17.设置文件作为各类的根目录。
  • 18.Maven的6种依赖范围:
  • 19.用啥工具类开启的资源,关闭时也要用对应的工具类来关闭。
  • 20.选中并替换,双引号符号替换为单引号:ctrl+R(replace)。
  • 21.war和war exploded的区别:

1.Maven简介:

Maven是一个项目管理工具,它的作用就是管理项目,主要体现在两个方面:依赖管理一键构建

  • 依赖管理: 对jar包的管理方式
  • 一键构建: 一个命令就可以完成一个项目构建过程

2.jar包在maven本地仓库中是按照什么结构存放的?

(按照三级目录 公司/项目/版本/*.jar )
com.aibaba.druid/l.1.15/druid-1.1.15.jar

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EpyLOxAE-1642173097353)(问题.assets/1642122124644.png)]

3.maven软件的目录结构

目录结构介绍

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YWrX0Oiy-1642173097355)(../../../Desktop/day39%E7%AC%94%E8%AE%B0/img/1641998729925-1642075024552.png)]

4.maven仓库的种类

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T1ut2NHS-1642173097356)(问题.assets/1642124541556.png)]

5.JavaScript.then()这个方法是什么意思?

1)then()方法是异步执行。

2)意思是:就是当.then()前的方法执行完后再执行then()内部的程序,这样就避免了,数据没获取到等的问题。

3)语法:promise.then(onCompleted, onRejected);

4)参数

promise必需。Promise 对象。

onCompleted必需。承诺成功完成时要运行的履行处理程序函数。

onRejected可选。承诺被拒绝时要运行的错误处理程序函数。

原文链接:https://blog.csdn.net/mjt1723067421/article/details/99732439

6.打包完maven目录是啥样的???

打完包有lib文件夹嘛,jar包放哪儿?

打完包会生成lib文件夹

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nHwdSKbm-1642173097357)(问题.assets/1642136095362.png)]

7.jar包和war包的区别

javaSE项目 打包==》jar包

javaWeb项目打包==》war包

8.maven常见的命令:

1)clean 清理命令,执行clean会删除target目录及内容,即清理掉上一次项目构建产生的文件

2)compile 编译命令,作用是将 src/main/java 下的文件(正式的java文件)编译为class文件输出到target目录下

3)test 测试命令,作用是执行 src/test/java 下的测试类,并编译为class文件输出到target目录下,并会运行测试类中所有的单元测试的方法

相当于javac+.java

4)package 打包命令,打的是所有的正式代码(src/main) 对于java工程执行package打成jar包,对于web工程打成war包

5)install 安装命令,将打好jar包或者war包安装到本地maven仓库

6)deploy 部署命令,将打好的jar包或war包部署到私服中

9.maven有三个独立的生命周期。

* maven对项目构建过程分为三套相互独立的生命周期,每个生命周期中都包含了不同的命令,这三套生命周期分别是:
	Clean Lifecycle (清理 生命周期):在进行真正的构建之前进行一些清理工作。
		clean
	Default Lifecycle(默认 生命周期):项目构建的核心部分,包括编译,测试,打包,安装,部署。
		compile  test  package  install  deploy
	Site Lifecycle (站点 生命周期):生成项目报告,站点,发布站点。
		site

位于同一个生命周期中的命令,运行后面的命令,前面的会自动执行

比如运行test,会先执行compile

总之,2句话概括就是

(1)人工键入命令总是指向某生命周期的某阶段

(2) maven 引擎根据你指向的阶段Pn去跑完 阶段所在的生命周期的(某Life-Cycle) 该阶段之前的 所有阶段(P1+P2+…+Pn-1)。

10.为什么分clean生命周期???

构建项目前,不需要clean嘛,为什么clean还要要单独做一个生命周期,直接构建的生命周期里包含clean多好。

11.命名规范:

artfact:如果是两个单词的话,中间用-隔开。–>maven-demo

除了,类名,方法名,便量和常量名,全是小写字母

中横线和减号是有区别的,要注意。

12.maven依赖网址:

https://mvnrepository.com/ 复制依赖

13.maven编码提示:基于一个索引(配置文件仓库)。

跟代码自动补全一样

14.构建maven仓库索引:

手动构建索引。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PH6G27TS-1642173097358)(问题.assets/1642130795272.png)]

15.gradle是什么???

16.创建maven项目的时候GroupId和ArtifactId以及Version是什么意思?

1)GroupId和ArtifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。

GroupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的GroupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,ArtifactId是tomcat。

2)ArtifactId是项目的唯一标识符,在实际开发中一般对应项目的名称,就是项目根目录的名称,例:GradleDemo。

3)Version 是项目的版本号,例:1.0-SNAPSHOT 。其中1.0是版本号,一般来说,版本都是有更新迭代的,高版本的包能够兼容低版本包的所有功能,这一点可以和我们日常使用的APP做个类比。SNAPSHOT版本代表不稳定、尚处于开发中的版本。而衍生的有Release版本则代表稳定的版本
原文链接:https://blog.csdn.net/weixin_45182619/article/details/112432090

17.设置文件作为各类的根目录。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MzTSu9YN-1642173097359)(问题.assets/1642137162636.png)]

18.Maven的6种依赖范围:

编译–>写代码的时候,会报错。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EZ4hZY1G-1642173097359)(问题.assets/1642146544322.png)]

compile: 编译依赖范围(默认),对于编译、测试、运行三种classpath都有效

test: 测试依赖范围, 只对测试classpath有效。典型范例:Junit

provided: 已提供依赖范围 对于编译和测试classpath有效,但在运行时无效。典型范例:servlet-api(注意:如果没有正确设置该依赖范围,会导致jar包冲突,报错的)

runtime: 运行时依赖范围 对于测试和运行classpath有效,但在对编译主代码时无效。典型范例:JDBC

system: 系统依赖范围

import: (maven2.0.9及以上): 导入依赖范围,它不会对三种实际的classpath产生影响
原文链接:https://blog.csdn.net/sweetyIT/article/details/78068829

详解博客连接

19.用啥工具类开启的资源,关闭时也要用对应的工具类来关闭。

20.选中并替换,双引号符号替换为单引号:ctrl+R(replace)。

21.war和war exploded的区别:

总结:热部署用war exploded的方式。

正解:

是选择war还是war exploded 这里首先看一下他们两个的区别:

1–war模式:将WEB工程以包的形式上传到服务器 ;
2–war exploded模式:将WEB工程以当前文件夹的位置关系上传到服务器;

(1)war模式这种可以称之为是发布模式,看名字也知道,这是先打成war包,再发布;

(2)war exploded模式是直接把文件夹、jsp页面 、classes等等移到Tomcat 部署文件夹里面,进行加载部署。因此这种方式支持热部署,一般在开发的时候也是用这种方式。

(3)在平时开发的时候,使用热部署的话,应该对Tomcat进行相应的设置,这样的话修改的jsp界面什么的东西才可以及时的显示出来。

总结:这两种方式得部署方式是不一样的,因此在获取项目的相对路径的时候得到的结果是不一样的。

根路径:

1)war:tomcat\wabapps\root

2)war exploded:项目target的位置。

原文链接:https://blog.csdn.net/xlgen157387/article/details/56498938



这篇关于(maven)day39javaEE基础查漏补缺的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程