一、什么是Maven?
概念:
Maven是一种框架。它可以用作依赖管理工具、构建工具。
它可以管理jar包的规模、jar包的来源、jar包之间的依赖关系。
它的用途就是管理规模庞大的jar包,脱离IDE环境执行构建操作。
具体使用:
工作机制:
学习Maven一定要理解,工程的构建过程:
Maven的作用路径:
二、配置Maven
1.官网下载Maven
注意区分别下错了!
2.解压就能用
3. 指定本地仓库位置
4.配置阿里云提供的镜像仓库
5.配置Maven工程的基础JDK版本
6.配置环境变量
有四步:检查JAVA_HOME,看是否配置好了JDK。
检查Maven_HOME,看是否配置好了Maven。
最后,输入mvn -v 进行测试。
三、Maven坐标
就类似于数学中的空间坐标值。X,Y,Z
基本概念:
四、Maven创建工程
基本步骤:
Maven创建工程的命令就是:mvn archetype:generate
创建工程需要指定两个坐标。就是Maven的三个坐标需要手动指定。如下图:
2.进入到这个工作空间。
解读POM.xml文件:
最主要的还是那个dependence标签。
五、Maven的核心概念:POM
基本概念:
Maven的核心就是POM文件。项目对象模型。需要用到Maven的命令进行操作。和之前创建工程的命令类似。后面的命令更加详细。具体实现Maven工程。
实现Maven工程的操作:
和创建Maven工程不一样。这些命令有:清理操作、编译操作、测试操作、打包操作、安装操作。
注意:一定是创建工程之后!!!然后进入这个工作空间!是工作空间,也就是pom.xml文件所在目录。不是进入pom.xml文件里!
小结:
使用Maven创建工程和使用mvn install命令的区别。
使用Maven创建工程是一开始定义好了工作目录,工作空间。
使用mvn install命令是将自定义的本地jar包导入本地仓库,这样就可以在pom中直接通过dependency的方式来引用。
mvn install命令,用于在git获得别人的开源项目,然后使用这个命令,可以将别人的项目存入自己的本地仓库。如果没有这个命令,好像会无法运行?会出现很多的红色报错。
还有一种解释:就是将自己的项目导入自己的本地仓库。这样在其它项目里就可以直接从自己的本地仓库调用创建好的方法。
六、创建Maven版的web工程
前面使用的方式是创建Java工程。
基本用法:
需要记忆一下命令。不过在IDEA会更加方便。
基本步骤:
有不清楚的地方,建议自己去找百度。
小结:总的步骤就是:使用maven命令创建web工程。然后创建servlet类。在web.xml文件注册servlet类。编写JSP网页。在POM.xml文件配置对servlet类的依赖。将web工程进行打包。最后将war包部署到服务器(Tomcat)上运行。
部署包:将打包好的 war 包放在 tomcat 目录下的 webapps 里。
七、让web工程依赖Java工程
基本概念:
基本步骤:
由于后面视频有点看不懂了。需要沉淀,实训。停一下。
第一次实训:
现阶段的目标是熟练使用maven工程,创建Java工程和创建JavaWeb工程。
然后在使用maven创建Java工程的时候,也使用IDEA创建Java工程。
碰到问题:
创建Java工程:
手动创建Java工程:
手动创建Maven的Java工程:mvn archetype:generate。
然后通过mvn test 。测试编译。在编译的时候报错了。出现的问题是:无效的发现版本,在setting.xml文件出错。原因是jdk设置的版本名称是11.0.11。改为11之后就解决了。
IDEA工具创建Java工程:
第一种创建空项目,这种情况下,就是Java程序。但是它不是maven工程。这种情况下的输出是out文件。
只有Maven工程的编译才是target文件。
第二种,通过maven创建。但是找不到Java的工程。最多只有maven_web的工程。
未知,需要找一下资料怎么创建。通过IDEA创建Maven的Java工程。
这篇文章讲的很好,解决了我使用IDEA创建Maven的Java工程的问题,原来版本号的选择应该是:
1.0-SANPSHOT
之前就是不知道怎么写版本号出错。(通过实验得到第一种方式不可以,还是使用第二种方式创建Java工程!!!)而且这篇文章也讲了第二种方式解决创建Java工程。
Maven和Git_git pom_随风者1997的博客-CSDN博客
Maven操作命令的作用:
我们可以看到,它会在maven仓库里面创建文件。而且,也会在这个工程里面创建一个jar包,他的位置在此项目里面的target目录下。
通过查略资料得到package它不会把jar包部署到本地仓库和远程私服仓库。下图:
而仓库的概念,我们在学github的时候,知道仓库的作用是什么了。因此我得到一个结论。比如:我们使用github获取到一个IDEA工程的时候,如果他是一个maven形式的工程。我们就需要用到mvn install命令将其部署到本地mvn仓库。否则它会因为缺少各种各样的包而报错。
明天运行项目、Xshell 5和Xftp 5 这两个软件也需要进行学习。