Maven
2018.3.30
Svn Eclipse maven 项目管理工具
Maven的简介:
什么是maven?
是Apache下的一个开源项目是纯JAVA开发,只是用来管理JAVA项目的开发工具
优点:maven可以统一对项目的所有Jar包进行管理,使项目的占用空间更小
一键构建:mvn可以在cmd里面运行tomcat服务器:mvn tomcat:run
Maven能干的事:
编译 测试(JUNIT) 运行 打包(jar,war包) 部署(把包放到webapp)
可以跨平台,应用于大型项目,可以提高开发效率
用户管理 订单管理 支付管理 。。。。。可以分模块进行开发
互联网项目 是按业务分配
传统项目: entity dao service servlet
Maven 的安装:
下载安装maven软件:到官方网站maven.Apache.org/download.cgi
下载后解压zip包:maven软件的核心文件:setting.xml
<localRepository>/path/to/local/repo</localRepository>本地仓库地址可以更改
专门统一管理存储项目所需要的JAR包
Maven的仓库:
本地仓库: 自己维护
远程仓库:公司维护
中央仓库:maven团队维护(几乎所有开源项目jar包都可以找到:两个亿)
配置maven环境变量:
在Windows系统中首先安装JDK,添加环境变量MAVEN_HOME地址:解压后文件地址
添加Path: %MAVEN_HOME%\bin;
入门程序:
Maven的目录结构
Src:
Main > 主目录
Java 放java代码
Resources 放配置文件(prpoperties文件 .xml文件)
Test>
Java 测试目录(写Junit测试代码)
Resources Junit测试所需要的配置文件 如果没有配置文件默认从main找
Pom.xml:是整个项目的核心文件
Maven的常用命令(生命周期是按下面的顺序):
Mvn Tomcat:run 一键启动
Mvn Clean 清理编译好的文件 .class
Mvn compile 只编译了主目录文件
Mvn test 只编译并运行test目录编码
Mvn package 打成war包放到target文件夹里
Mvn install 把项目包发布到本地仓库
Mav Deploy(发布到私服上)
Maven 的生命周期(了解):
三种:
Clean 生命周期:移除上次执行的产生的文件
Default 生命周期
Site 生命周期 :site命令生成项目站点文档(静态页面对项目进行描述)
命令和生命周期的阶段的关系:
不同的生命周期的命令可以同时执行:maven clean package
项目构建:
M2e插件:在eclipse上运行的插件都叫M2e插件
Git 和maven是比较流行的项目管理软件
1. 修改eclipse默认集成的maven插件版本
2. 修改maven的默认本地仓库地址(usersettings>)
新建maven项目:
New Maven Project>
(skip archetype selection)跳过骨架选择(不勾选会缺少文件夹,需要手动创建)
项目坐标:
Group Id: 组的或公司名称
Artifact Id:项目或模块名称
Packaging:创建Java项目选jar,WEB工程选war,创建的如果是个父工程的话可以选pom(打包方式)
其他可以不用填
填写坐标:
处理编译版本:
在pom.xml文件中添加配置的插件的代码:
<build>
<!-- 配置了很多插件 -->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
创建servlet:
解决自动创建servlet后web.xml报错:删除多余代码
添加servlet后maven报错:在pom.xml中添加配置文件
<!-- 添加servlet-api,jsp-api -->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
依赖管理(Jar包管理):