maven概念
maven是优秀的项目管理和构建工具。
作用: 1、项目命令构建 2、jar包插件管理
举例
公司现要做一个web项目,用ssm框架,此时首先要把这些框架的jar包全部下下来,放入lib包下,此时会有几十个jar包,版本可能还不统一,并且还有一些冗余的包要处理,所以会很繁琐。
下载
安装
直接解压下来即可(注意不同的maven版本)。
maven目录结构:
maven项目结构
maven主要命令
1、compile:项目编译。在eclipse中保存代码后会自带编译,生成class文件。也可以单独执行下该命令,会生出maven下的target文件。
2、package:(包含compile)打包,生出对应的jar包或者war包。
3、clean:清除掉编译生成的文件,即删掉target中的class文件。
4、install:打包并发布到本地仓库中。(包含 compile + package,然后上传到本地仓库)
5、deploy:发布命令。打完包把包部署到maven私服中。
【epoly注意事项:
(1)、pom文件中增加配置:
(2)、上面的配置信息要跟maven的配置文件中的私服地址一致
注:命令可以一次写多个, 然后会挨个执行。
置本地仓库
pom文件:用于管理项目依赖和构建过程。
下面是我总结的maven的一些小问题,供参考:
1、在eclipse中安装配置该插件。
一般自带该插件,只需配置下maven的配置文件路径即可。
2、创建maven项目
1)、先选择maven模板
2)、填入maven工程的标识(位置符、项目名 、版本、打包类型)
3、了解maven的生命周期
clean
defalut
site
执行maven命令时,会默认执行前面的生命周期了。
4、pom常用元素
本项目声明
jar包依赖管理
插件管理
5、maven依赖生效范围
标签
表明该依赖关系包是在什么情况下生效,如:编译、测试时,或运行时,或者仅仅打包时生效
值:compile、test、runtime等
6、maven依赖传递
1):依赖关系的设定、以及依赖关系的传递、以及依赖的排除。
2):配置maven项目默认的jdk版本
在setting配置文件中配置。大约172行有个profile
7、依赖版本 冲突
原则:1、短路优先2、先声明的优先(pom中的前后位置)
8、聚合和继承
1)、聚 合
一些平级的工程模块每次都执行相同的命令太麻烦,故可以创建一个新maven工程,把那些工程当成这个工程的子模块,然后就对该工程执行命令,从而达到批量执行效果
标签
2)、继承
对于一些共性的pom中的设置,pom文件也是可以继承实现的。
子中用
和
父中定义
9、maven构建web项目
1)、maven创建项目,打包格式
2)、web容器插件的管理
jetty和tomcat服务器都可以通过maven去管理。在plugin中配置插件即可。还可以设置在执行什么maven命令中就直接启动服务了。如package的时候,直接启动服务。
3)、查看class文件的输出路径,。