1、MAVEN简介
1、maven这词翻译成为("专家,内行"),是扩平台的项目管理工具。maven主要服务于基于java平台的项目构建,依赖管理,项目信息管理。
2、项目构建过程:清理项目->编译项目->测试项目->生成测试报告->打包项目->部署项目,使用maven就可以帮助实现。
3、依赖管理:依赖是指jar包之间的相互依赖,依赖管理指的就是使用Maven来管理项目中使用到的jar包,maven的管理方式就是自动下载项目所需要的jar包,统一管理jar包之间的关系。
4、在联网的基础下面,一次下载,永久享用,也就是说首次开发第一次下载需要联网,但是它有个中央仓库,已经下载的jar包会保存在中央仓库中,下次使用可以在这里找到,而不用去网上下载。
2、MAVEN安装和配置
1、检查JDK的安装,确保在电脑上有1.6以上版本的jdk
2、关于 maven和eclipse的配置我推荐看这个网站上的介绍:https://www.cnblogs.com/eagle6688/p/7838224.html。
3、maven手动构建项目,编译,清除,打包
1、其中target在src的同级目录下面我们手动创建的时候可以不加,在我们maven命令编写的时候会自动生成。但是其中pom.xml是我们maven的核心文件,这个文件我们可以在前面下载maven的安装目录中的lib文件中找到maven-model-3.5.4.jar这个压缩包,解压之后我们在里面META-INF\maven\org.apache.maven\maven-model的路径下面就能找到整个文件,直接复制,放在我们手动创建的同级src文件下面。
2、然后我们在src/main/java文件夹连续创建com、imooc、app、作为包名,app文件夹下面写一个HelloMaven的类如下所示
ckage com.imooc.app;
public class HelloMaven{
public static void main(String[] args){
System.out.println("Hello Maven");
}
}
3、最重要的一步来了,我们在pom.xml的目录中进行编译,在命令行中进入到pom.xml的父级目录编写命令:mvn compile
这时等待的时间比较长,会调用一些maven的插件进行编译和运行。产生的结果就是在src和pom.xml共同的父级文件中又产生了一个叫做target的文件,这个文件中放的就是我们刚才对HelloMaven.java文件编译后的文件HelloMaven.class。
4、通过这个过程说明的就是maven是集成自动编译,还有最重要的一点就是,对java类的编译不需要到.java文件下进行,之需要在pom.xml所在的目录下进行即可。
5、使用maven的骨架必须是上面所示的图片中的骨架,但是我们可以通过命令自动生成骨架:
(1)第一种是输入:mvn archetype:generate,然后会提示你输入相应的groupId,artfactId等等,但是这种情况经常会卡主,所以我们可以换命令,具体可以参照:https://blog.csdn.net/cckevincyh/article/details/72877912
(2)第二种是一行代码输入,输入下面代码即可:
mvn archetype:generate -DgroupId=com.hnust.mavendemo2 -DartifactId=mavendemo2-demo -Dversion=1.0.0SNAPSHOP -Dpackage=com.hnust.mavendemo2.demo
里面的参数设置和参数意义可以参照https://blog.csdn.net/superxiaolong123/article/details/79643358
6、来展示一下我们通过骨架生成的这个项目的pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> //可不要
<groupId>com.cc.maven03</groupId> //必须要
<artifactId>maven03-service</artifactId> //必须要
<version>1.0.0SNAPSHOT</version> //必须要
<packaging>jar</packaging> //必须要
<name>maven03-service</name> //可不要
<url>http://maven.apache.org</url> //可不要
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
这里的话还要说的一点就是项目的编译运行和打包都是在pom.xml这一级进行的。
7、特别推荐:其中我们下面要讲的就是在IDE环境中去使用maven,那其实IDE中的按钮对应的都是一些maven的命令而已,对于maven的命令我们推荐去看看这个网址https://www.cnblogs.com/wkrbky/p/6352188.html,方便查阅。
4、在eclipse中使用maven去创建java web项目
1、首先要先去下载maven和在eclipse中配置maven,这里我们再把上面的网址说一下:
https://www.cnblogs.com/eagle6688/p/7838224.html
2、然后我们web项目跑起来需要server,所以我们需要下载Tomcat,关于下载Tomcat和在eclipse中配置的过程参考下面地址:
https://blog.csdn.net/u014543872/article/details/79568712
3、两者有了之后我们在eclipse中创建一个web项目的过程可以去参考下面的网址
https://www.cnblogs.com/NieXiaoHui/p/5990570.html、
https://blog.csdn.net/qq_35139711/article/details/79660237
所以我们要做的第一步就是在右键->build path->configure build path这里面去设置好,第二步是将项目转换成Dynamic Web Project,第三步是设置部署程序集。
如果都搞定了还会出现这样的错误:(问题是出现在JSP文件中)
Description Resource Path Location Type
The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path index.jsp /freemarker/src/main/webapp line 1 JSP Problem
那么解决方法可以参照:https://www.aliyun.com/jiaocheng/790260.html
4、右键项目去run as,使用的就是我们前面下载配置的Tomcat 9;看一下运行结果:我是将index.jsp文件中的hello world改成了hello Waven,然后我们也可以吧图中的网址http://localhost:8080/freemarker/拿到真正的浏览器里打开看看效果,是一样的。