1 maven是 项目构建工具 (编译复制资源). idea通过maven的配置文件 pom.xml, 做项目的构建.
2 配置maven.
第一行 settings.xml 是Maven的全局配置文件. 第二行 repository 文件是Maven的本地仓库,里边包含依赖包(jar).
3 maven 生命周期Lifecycle.
clean 删除 target目录. 运行项目会生成 target 目录.
compile 编译 开发 的代码, 复制到 target/classes.
test 编译 测试 代码, 复制到 target/test-classes.
package 项目打包. (打包的名称是 项目部署名). 会在 target 目录下生成项目的 jar 包(jar包通常是开发时要 引用的通用类). 如果在pom.xml中设置 packaging 为war,就会打成 war 包(war包是做好一个 web 应用后, 通常是网站, 打成war包部署到容器中).
deploy 部署 提交项目的打包文件到某个远程仓库.
3 Maven 项目标准结构:
main -> java (开发的 代码目录)
main -> resources (开发的 资源文件夹)
test -> java (测试的 代码目录)
test -> resources (测试的 资源文件夹)
tomcat运行前,idea会调用 maven 把 web 编译文件夹 全部构建好:
target -> blog (web 项目部署文件夹)
target -> blog -> classes (开发 的编译路径)
target -> test-classes (测试 的编译路径)
target -> sds (项目部署文件夹) 里面对应的是 webapp 下的文件.
4 Web 项目的标准结构: 相对Maven文件多了一个 webapp 文件夹 (web项目的资源文件夹), 里面有一个 web.xml (web项目的配置描述文件, 比如客户端请求路径等等).
配置 pom.xml 和 web.xml 文件.
(1) 配置 pom.xml 文件. 在创建好maven项目时会 自动生成一个 pom.xml 文件.
可以设置 GroupId: 组织名, 如果是个人名就使用个人名称(英文或拼音). ArtifactId: 产品名, 一般和项目名写成一样. Version 版本号. 设置打包格式war包 (web项目需要打包为 war 文件).
<groupId>frank</groupId>
<artifactId>stu-dorm-sys</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- web项目需要配置为war,表示打包为war文件 -->
<packaging>war</packaging>
然后 在 pom.xml 中设置 各种依赖包. 比如 MySQL数据库JDBC驱动包, servlet 依赖, jackson core 核心包 等等. 可以手动添加, 也可以在maven仓库 https://mvnrepository.com/ 中搜索并复制.
<dependencies>
<!-- MySQL数据库JDBC驱动包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
<!-- servlet api -->
<dependency>
<groupId>javax.servlet<