什么是Maven?
Maven是一个项目管理工具,它的一个重要的功能就是自动导入jar包,
只需要在Maven项目中的pom.xml中写入要导入的包,他就会帮我们自动导入。
回想起在我们使用JDBC的时候,需要手动导入mysql-connector-jar包
而使用Maven来创建的话,就很方便,在pom.xml中指定这个包即可。
在JavaWeb开发中,经常会用到servlet和jsp相关的包,如果每次都要手动导入非常麻烦,
所以用Maven来创建项目,导入包的时候就轻松多了。
本文重点说的是在IDEA中用Maven创建项目的几种方式以及他们的区别,如果你还没有搭建好Maven环境,请移步…
创建Maven项目要注意的问题
在IDEA中经常会出现一个问题:项目创建完毕后,它的Maven Home使用的是IDEA默认的,而我们需要把它改成本地仓库:
方式一:用maven-archetype-webapp模板创建项目
勾选:create from archetype: maven-archetype-webapp
- 我创建了一个Maven-01-archetype项目,项目的文件结构如下:
发现,用maven-archetype-webapp模板创建的项目中的main文件夹下:
多了一个webapp文件夹存放我们的web应用程序,然后缺少java文件夹和resources文件夹
**用Maven-archetype-webapp模板创建的项目需要进行两个优化才行:
1.在main目录下创建放代码的java目录和存放资源的resource目录
2.把模板项目中自动生成的web.xml更新成新版本的web.xml(这个可以直接复制Tomcat/webapps/ROOT/WEB-INFO/web.xml)
**
方式二:创建一个普通的Mavan项目
不勾选archetype模板,直接点Next创建一个普通的、干净的Maven项目
方式二.1:把整个src目录都删除作为一个主工程
这样是把这个项目当成一个大项目,然后再在里面添加一个个的Module作为子项目
可以在pom.xml中添加整个父项目需要的依赖,子项目可以直接使用父项目的依赖
总结:创建一个空的maven项目并删除src作为主工程,然后在主工程下创建一个个webapp模板创建出来的子工程
(我这里创建了一个JavaWeb-Sevlet父工程,然后在里面又创建了一个Servlet01的子工程):
方式二.2:Add Framework support然后勾选Web Application
添加完Web Application框架支持后,发现多了一个web文件夹,
就像刚刚用maven-archetype-webapp创建的项目中那个webapp文件夹一样
不过,在用模板创建的项目中,webapp放在main文件夹下
而我们通过这种方式创建的web文件夹放在项目的根目录下