简介
是Apache 下的一个项目, 是纯java的项目,并且只是用来管理java项目
Maven好处
maven 做的项目为什么这么小?
没有jar包,需要jar包嘛? 没有存在maven 项目里面 ,在本地有个文件夹里面放的是jar包,(本地仓库)maven 通过的是坐标来
依赖管理
项目一键构建
编码 编译 测试(junit) 运行 打包 部署
一个 tomcat:run就能把项目运行起来
Maven能干的事:
编译 测试(junit) 运行 打包 部署
小结:
Maven的好处:
依赖管理
就是对jar包的统一管理 可以节省空间
一键构建
可以跨平台
应用于大型项目 可以提高开发效率
分析:
用户管理 订单管理 支付管理 。。。。。
Maven的分模块开发
互联网项目 按业务分
传统项目 按层分 entity dao service w
Maven安装配置下载, apache官网下载
http://maven.apache.org/download.cgi下载压缩包,然后解压
目录解析
bin 可执行二进制文件
boot maven 的类加载器
conf 里面放的配置文件
Maven 软件的核心配置文件
settings.xml
lib jar包
Maven 环境变量配置
java开发的肯定要依赖jdk的
Maven3.2x 所需要的jdk都是需要1.7以上的版本
eclipse 每年的6月初会出一个新的版本
为什么配置环境变量 ? , 因为想在电脑上任何地方运行mv
1. 配置MAVEN_HOME 加压maven软件位置
2 配置path(win10 好像不用;隔开就行了)
然后打开cmd黑窗口, 输入mvn -v 如果出现版本 和 win版本, jdk版本就说明配置成功
Hello World
我们如果想用maven 运行编译项目嗯, 我们需要一个插件 可以官网下载, 或者 配置黑窗口直接运行命令,然后会自动下载在
这个目录下面
我们可以自己配置比如小编我就配置在F盘
这样写就行了
然后进入项目的目录,运行命令 mvn -v
这个就是访问地址
Ctrl + C
三种仓库
本地仓库(自己维护),远程仓库(公司维护),中央仓库(apache维护) 2个亿
入门程序
maven 的入门程序
pom.xml 文件是每个项目的核心文件
为什么 eclipse 中写的文件src 会自动编译到 ? ??
因为这个
Maven 的常用命令
执行maven 常用命令的时候, 一定要进入 项目的根目录中
mvn tomcat:run 启动 tomcat
Clean 清理编译的class文件
Test 编译并运行test 目录中的代码
Package 打包
Install 就是把项目发布到本地仓库
Maven的生命周期(了解)
Compile test package install deploy(发布到私服)
三种生命周期
Clean生命周期
Clean
Default生命周期
Compile test package install deploy
Site生命周期
Site
命令和生命周期的阶段的关系
不同的生命周期的命令可以同时执行
Mvn clean package
m2e 插件的安装
eclipse 已经集成了这个插件 我们需要配置下就行了
2. 第二个地方
这样就行了
项目构建
new -- > maven paroject
直接点跳过骨架,
SNAPSHOT 快照, 非正式版
jar war pom pom 表示辅工程
3. 处理红色叉号
再webapp 中创建 一个WEB-INF目录,然后拷贝一份web.xml文件
4.处理编译版本
然后可以更新下
运行 Maven webapp
点击Maven build 然后就运行, 如果出现 什么jvm占用 8080 说明端口被占用了 关下就行了
重建索引
添加依赖
然后打开这个视图, 如果下面不会搜索的话, 就按照下面的步骤
直接rebuild index 然后就可以了
打包
然后在打开的窗口输入 package 打包就成功了
依赖范围
compile struts2-core
编译时需要, 测试需要, 运行需要, 打包需要
provided jsp-api.jar servlet -api-jar
编译 时候需要,测试时候需要,运行是不糊要, 打包时候不需要
Runtime 数据库驱动包
编译时候不需要, 测试需要,运行需要,打包需要
Test junit.jar
编译时候不需要, 测试需要,运行不需要
例外的解决
如果用maven 做项目的时候遇到Classfmtexception 这说明开发的环境有冲突, 不匹配, 开发时候,建议把 开发环境调成UTF-8,然后如果用的是jdk1.8 我们用tomcat-7 , 使用插件 需要配置这个
<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <path>/f</path> </configuration> </plugin>
最后小编把自己的配置文件献上
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.itcast</groupId> <artifactId>hello</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <name></name> <description></description> <build> <!-- 配置了很多插件 --> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> <!-- <plugin> --> <!-- <groupId>org.codehaus.mojo</groupId> --> <!-- <artifactId>tomcat-maven-plugin</artifactId> --> <!-- <version>1.1</version> --> <!-- <configuration> --> <!-- <port>8888</port> --> <!-- <path>/first</path> --> <!-- </configuration> --> <!-- </plugin> --> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <path>/f</path> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> <version>2.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.3.24</version> </dependency> </dependencies> </project>
再见