参考文章:
最详细的maven教程:https://blog.youkuaiyun.com/wymrdjm/article/details/78695956
maven 学习:https://www.jianshu.com/p/15fa655c15cb (推荐看)
本篇博客只用于交流学习,不用来牟利,内容可能会跟其他的一些博客内容或者资料有重复侵犯权利之类的,还请告知,必定改正。
Maven项目管理工具
maven是一个跨平台的项目管理的工具。隶属于Apache下的一个开源项目。主要服务于Java平台的项目构建、依赖管理、项目信息管理等。
1、Maven的简介
1.1 什么是maven
是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目的
1.2 Maven好处
普通的传统项目
Maven项目
分析:maven项目为什么这么小?没有jar。 需要jar吗?肯定需要。没有存在于maven项目里面,jar存在于哪?
答:在maven管理的本地仓库中,maven管理着他们
1.3 依赖管理
1.4 项目一键构建
编码 编译 测试(junit) 运行 打包 部署
一个 tomcat:run就能把项目运行起来
Maven能干的事:
编译 测试(junit) 运行 打包 部署
1.5 小结:
Maven的好处:
- 依赖管理
就是对jar包的统一管理 可以节省空间
- 一键构建
- 可以跨平台
- 应用于大型项目 可以提高开发效率
分析:
用户管理 订单管理 支付管理 。。。。。
Maven的分模块开发
互联网项目 按业务分
传统项目 按层分 entity dao service web
2、Maven的安装配置
2.1 下载安装
从此目录中拷贝文件:
直接解压到一个没有中文没有空格的文件夹里解压后的目录如下:
Maven软件的核心文件:
2.2 Maven环境变量配置
- 要配置jdk, maven3.3.9这个版本所需的jdk版本必须要1.7以上
- 最终要运行的是maven软件中bin目录的mvn命令
所以要配置maven的环境变量
在系统变量添加
环境变量的名称:MAVEN_HOME
变量值:就是maven软甲解压的目录
D:\Eclipse\apache-maven-3.3.9-bin\apache-maven-3.3.9(把这个地址换成你的)
3、把MAVEN_HOME添加到path里
4、验证maven是否配置成功:
打开dos窗口 输入: mvn –v
2.3 Maven仓库
三种仓库
1、本地仓库 自己维护
本地仓库的配置只需要修改settings.xml文件就可以
2、远程仓库(私服) 公司维护
3、中央仓库 maven团队维护 大约两个亿jar包左右
三种仓库的关系如下:
3、演示入门程序
3.1 Maven的目录结构
3.2 Maven的常用命令
Clean 清理编译的文件
Compile 编译了主目录的文件
Test 编译并运行了test目录的代码
Package 打包
Install 就是把项目发布到本地仓库
Tomcat:run 一键启动
3.3 Maven的生命周期(了解)
maven常用命令和maven的生命周期
Compile test package install deploy(发布到私服)
三种生命周期
- Clean生命周期
Clean
- Default生命周期
Compile test package install deploy
- Site生命周期
Site
3.4 命令和生命周期的阶段的关系
不同的生命周期的命令可以同时执行
列如: Mvn clean package
4、项目构建
M2e插件的安装
4.1 Maven在eclipse的配置
1、选择3.3.9版本的maven软件(记住把里面的地址换成你的地址哦┭┮﹏┭┮)
2、修改默认的本地仓库地址(记住把里面的地址换成你的地址哦┭┮﹏┭┮)
4.2 项目构建
1、新建maven项目
2、调过骨架,如果不跳过骨架选择创建出的项目目录是不全的
填写坐标
3、创建工程
4、处理红色叉号
手动在webapp文件夹下创建一个WEB-INF文件夹,在里面放一个web.xml文件
5、处理编译版本
在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>
6、创建一个servlet
修改web.xml
删除重复的代码
添加jar包
在pom中添加如下代码:
<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包已添加到项目中
启动项目
右击项目---run as –maven build ….
5 、依赖管理
Jar包的管理
需求:整合struts2 页面上传一个客户id 跳转页面
5.1 添加依赖:
打开maven仓库的视图:
5.2 重建索引
- 创建maven项目(同上)
- 跳过骨架(同上)
- 填写坐标信息(同上)
- 添加web.xml文件(同上)
- 修改编译版本(同上)
- 添加坐标 选择Dependencies标签 点击add
7、手动输入要添加的坐标,选择版本
8、可以看到 pom.xml文件中多出了如下代码
9、同样的方式添加servlet-api.jar和jsp-api.jar 注意选择scope为provided
10、写action代码
import com.opensymphony.xwork2.ActionSupport;
public class CutomerAction extends ActionSupport {
private Long custId;
public Long getCustId() {
return custId;
}
public void setCustId(Long custId) {
this.custId = custId;
}
public String findById(){
return SUCCESS;
}
}
11、添加struts.xml文件放到resources目录中
内容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- 配置常量 -->
<!-- 字符集 -->
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
<!-- 开发模式 -->
<constant name="struts.devMode" value="true"></constant>
<!-- 主题 -->
<constant name="struts.ui.theme" value="simple"></constant>
<!-- 扩展名 -->
<constant name="struts.action.extension" value="action"></constant>
<!-- 通用package -->
<package name="customer" namespace="/" extends="struts-default">
<action name="findById" class="cn.crm.action.CustomerAction" method="findCustomerById">
<result name="success">/info.jsp</result>
</action>
</package>
</struts>
12、添加jsp页面
13、修改web.xml文件 添加过滤器
5.3 依赖范围
5.3.1 Compile struts2-core
编译(compile)时需要 测试时需要,,运行时需要,打包时需要
5.3.2 Provided jsp-api.jar servlet-api.jar
编译(compile)时需要,测试(test)时也需要 ,运行时不需要,打包时不需要
5.3.3 Runtime 数据库驱动包
编译时不需要,测试时需要,,运行时需要,打包时需要
5.3.4 Test junit.jar
编译时不需要,测试时需要,运行时不需要,打包也不需要
添加插件
Maven add plugin
如果用tomcat7运行用命令:
Tomcat7:run
常见问题:
上面是我第一次搭建maven环境的整个大致过程, 所以想记录一下, 也方便以后以后进行查阅,当然也供大家参考,如果有什么问题可以@我,我看到之后会给予回复的。