一、Maven的生命周期
编译compile
清理 clean
测试 test
打包 package 在项目的target目录
安装 install 在本地仓库
部署 deploy 在远程仓库(中央仓库是一个服务器团队在维护,无法部署)
在Windows里配置的环境变量是在dos命令窗口用的,在eclipse里面用是在eclipse里配置的,各管各的
这个build不是maven里面的命令,是通用命令,选择你以前执行过的命令
1.1 在pom.xml里右键maven添加jar包依赖,添加插件
查找jar包或插件没有提示时,重构一下本地仓库,如下操作
1.2 在一个项目中引用另一个项目
将要引用的项目用install命令打jar包到仓库
- 然后在项目pom.xml中右键添加依赖,查找项目jar包名称
点击OK,这样就填好了
- 或者直接复制要引用的项目的坐标,直接复制这个到依赖标签下面即可
添加依赖后会优先引用项目
把引用的项目close Project掉,才会引用项目打成的jar包
这里一定注意,要引用的项目改动后要看清引用的是这个项目还是它的jar包,如果引用的是jar包,一定要重新打jar包
引用一个项目,项目中依赖的jar包也都会跟着过来,如下图中的测试包,也会跟着过来
测试包不是功能包,想不让它跟着过来怎么办,加一个scope作用域即可,这样加了scope的jar包就不会过来了
把引用别的项目的项目再打成包,引用的项目也在里面,这就是项目之间的依赖关系
二、Maven项目javaWeb
2.1其他都一样,这个地方要打war包
2.2创建好就直接报错,原因是缺少web.xml
有两种添加方式
2.2.1 手动添加
webapp就是放web页面等文件的地方
在webapp下面手动创建一个WEB-INF文件夹,把web.xml复制一份到文件夹里面即可
2.2.2 使用javaEE工具自动生成
2.3 还是一样的,将jdk版本号改过来
2.4 加最基本的两个jar包
jsp和servlet
这里两个jar包一定要添加作用域provided
2.5 jar包依赖的作用域(范围)
运行就是要不要最终打进包中
| 编译 | 测试 | 运行 | |
|---|---|---|---|
| compile(默认) | Y | Y | Y |
| test 不是强制用test的,打包打进来也没有关系(junit.jar:运行测试代码时才需要这个jar包) |
N | Y | N |
| provided servlet.jar和jsp.jar是强制使用provided的,不加会出错。我们现在这个maven的运行环境里是没有tomcat的,要保证正常运行就要加这两个包,而打成war包后部署到的运行环境是tomcat,tomcat有这些jar包,所以不应该打在最后的war包中 |
Y | Y | N |
| runtime 不是强制用runtime的,用compile也可以。如mysql-jdbc.jar,都是针对接口编程,只不过运行不起来,运行起来都是运行接口的实现类;编写代码时不需要这个包,它不参与,但测试和运行时要用到它 |
N | Y | Y |
2.6 web页面和servlet
把项目添加到tomcat运行
随便建个页面和servlet,跑通即可