16
每天进步不止一点点 Maven框架学习Maven
1. 概念:Maven(枚文),是一个项目管理工具,它包含了一个项目对象模型(POM:Project Object Model),一组标准集合,一个项目声明周期(Project Liffecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在声明周期阶段(phase)中插件(plugin)目标(goal)的逻辑。
2. Maven能解决什么问题
a. 解决jar包冲突,引入问题
b. 编译项目为2进制代码
c. 单元目录下的bug查找
d. 项目打包
3. 功能:
a. 依赖管理:maven工程对jar包的管理过程。
b.一键打包:maven工程对jar包的管理过程。
4. 安装:
a. 下载:https://maven.apache.org/download.cgi
b. 配置:将下载好的文件,进行解压缩,将解压缩后的所有文件复制到你所需要的盘符(无中文,无空格)下。
1. 在控制台输入:vim ~/.bash_profile,输入i进行编辑
2. 写入:export MAVEN_HOME=文件路径
export PATH=$PATH:$MAVEN_HOME/bin
3. 写入完成后输入:wq保存
4. 在控制台输入:source ~/.bash_profile使配置文件生效
5. 测试:在控制台输入mvn -v
5. jar包仓库分类:
a. 仓库分为三类:本地仓库,远程仓库(私服),中央仓库
b. 本地仓库的地址为:在maven文件的conf文件夹中的settings.xml中显示,可自行调整位置.
6. Maven标准目录结构:
7. Maven指令
a. mvn clean 删除编辑的项目(他人项目要在本地运行,先执行这个命令)。
b. mvn compile 编译项目放置到target目录下。(src-main下面的代码编译)
c. mvn test 将测试代码编译放到target目录下。(src-mai以及src-test下面的代码编译)
d. mvn package 将所有文件(核心代码和测试代码)进行编译,并且打包,打包的格式可以在文件.xml中设置。
e. mvn install 将所有文件进行编译,并且打包,并且将项目保存在本地仓库。
8. Maven声明周期
a. 编译--->测试--->打包--->安装--->发布 (complie-test-packge-install-deploy(先进行配置,再执行)) (默认声明周期)
b.clean--->清理声明周期 斜线标注的为默认生命周期 站点声明周期(暂时未解释)
9. Idea集成maven插件
a. 首先确保本地电脑已经安装maven,可参考上方第四条内容。
b. 点击idea里面的configure选项,选择Preferences,搜索maven项目。
c. 将maven home directory: 选择为你安装的maven目录
d. User settings file:选择为你安装目录下maven/conf/settings.xml
e. 将runner目录下的VMoption中输入:-DarchetypeCatalog=internal 这样就保证了maven项目在没有网络的情况下可以正常使用和构建。
10. 使用骨架创建Maven的Java工程
a. 点击+new project. 选择Maven,如果选择使用骨架,则点击Create from archetype,根据自己需求,选择快速启动的模版。
有些时候maven并不能将所有项目依赖的包都创建完整,这时候可以根据自己要求自行创建。
11. 不使用骨架创建Maven的Java工程
a. 点击+new project. 选择Maven,不点击Create from archetype,目录结构和使用骨架相差不大(项目推荐使用此种创建方式。)
12. 使用骨架创建Maven的JavaWeb工程
a. 点击+new project. 选择Maven,如果选择使用骨架,则点击Create from archetype,找到webApp选项,填选所需信息
*根据创建目录来补齐。
b. 如果未来需要在main.下写jsp或者其他资源文件,可以在项目的结构目录下的模块选项下,将main文件夹下的路径添进资源路径。
项目所依赖的jar包,可以在项目的pom.xml中进行配置。如果当地的仓库中没有,可以直接去中央仓库进行下载,直接添加位置标记。
c. 根据需求,添加jar包,或者插件
1. 添加jar包
mysql
mysql-connector-java
8.0.22
xxxxx //有效的范围
Scop的范围
2. 添加插件
org.apache.tomcat.maven
tomcat7-maven-plugin
2.2
13. 使用骨架创建Maven的JavaWeb工程
选择webapps的骨架,按照需求添加jar包