本帖最后由 yuhaohong 于 2018-6-7 16:02 编辑
Maven简介- 是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目的
- 通过maven管理的项目体积会变得很小,没有jar,jar包都在maven管理的文件夹里(本地仓库),项目从那里引用jar包
项目一键构建- cmd进入工程目录-->mvn tomcat:run--->项目运行了
- 编码-->编译-->测试(junit)-->运行-->打包-->部署
- 把war包放到tomcat的webapps文件夹里启动tomcat就可以运行了
maven的好处- 对jar包的统一管理,节省空间
- 一键构建: 通过mvn tomcat:run就可以把项目跑起来
- 可以跨平台:maven纯java开发的
- 应用在大型项目中可以提高开发效率
- Maven的分模块开发
- 每个模块引用别的模块的jar包,这样就只需要关注自己的模块,同时也不用编译别的模块源码
Maven下载,安装,配置下载与安装Maven环境变量配置- 要配置jdk,maven3.3.9这个版本所需的jdk版本必须要1.7以上
- 最终要运行的是maven软件中bin目录的mvn命令,所以要配置maven的环境变量,在系统变量添加
- 环境变量的名称:MAVEN_HOME
- 变量值:就是maven软甲解压的目录C:\software\apache-maven-3.3.9
- 在把%MAVEN_HOME%/bin配置到path中
- 配置环境变量目的:在任何地方都可以运行某个命令
- 运行mvn tomcat:run时需要去互联网下载插件
- 如果不能上网,我们可以拷贝一个本地仓库到某个文件夹,然后通过maven核心配置文件(settings.xml)配置查找路径去搜索资源
- <localRepository></localRepository>标签默认是注释掉的,默认地址:${user.homr}.m2/repository
Maven仓库- 本地仓库
- 远程仓库(私服)----公司维护
- 中央仓库 maven团队维护----两个亿
入门程序Maven项目的目录结构- 项目工程目录下:
- src文件夹
- main文件夹(主目录)
- java---Java代码
- resources---项目的配置文件
- webapp
- test文件夹(测试目录---junit测试代码)
- java---java代码
- resources---junit测试用到的配置文件,如果立面没有,默认会从main目录下的resources里找
- pom.xml项目核心配置文件
Maven的常用命令- clean---清理编译的文件
- compile---编译了主目录(main)的文件
- test---编译并运行了test目录的代码
- package---打war包(需要在pom.xml中配置)
- install---就是把项目发布到本地仓库
- tomcat:run---一键启动
Maven的生命周期(了解)- compile--->test--->package--->install
- deploy(发布到私服)
- 三种生命周期
- clean生命周期
- default生命周期
- compile
- test
- package
- install
- site生命周期
命令和生命周期的阶段的关系项目构建- 如果eclipse切换了新的工作空间,要修改编码环境utf-8
- jsp的编码也要改成utf-8
- svn和mvn都是一个工具,eclipse使用它们都需要安装插件
集成m2e- eclipse mark2版本自带了maven插件了
- 默认集成的是3.3.2且默认本地仓库是user.m2.repository.我们需要配置成我们自己的
- Maven--->Installations--->add--->添加自己的maven
- Maven--->User Settings--->User Settings
- 选择自己maven的配置文件
- 修改后,仓库的位置也会对应的改变
构建新项目- 新建maven项目
- 右键--->new--->other--->maven--->maven project
- 跳过骨架,如果不跳过骨架选择,创建出的项目目录是不全的
- create a simple project(skip archetype selection)勾选
- 填写坐标
- Group Id:公司或者组织名称com.itcast
- Artifact Id: 项目或者模块名
- Version:版本0.0.1-SNAPSHOT
- package:打包方式(war)
- 处理红色叉号
- 创建工程会出现红色的叉,我们要处理掉
- 手动在webapp文件夹下创建一个WEB-INF文件夹,在里面放一个web.xml文件
- src/main/webapp/WEB-INF/web.xml
- 处理编译版本
- 在pom.xml中添加如下代码
- 添加后右键工程--->maven--->update project
[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文件
- 删除web.xml头部重复的代码
- xmlns=http://java.sun.com/xml/ns/javaee
- servlet文件也会报错,原因是缺少了包,我们要添加jar包
- 在pom中添加如下代码
- 添加后jar包会添加到项目中
[XML] 纯文本查看 复制代码 <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>
- 启动项目
- 右击项目---run as –maven build …
- 如果遇到jsp解析报错:
- 检查有没有引入jsp依赖
- 如果引入了jsp依赖还是报错,修改maven默认的启动tomcat插件,用tomcat7
[XML] 纯文本查看 复制代码 <plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
依赖管理---整合struts2添加依赖- 打开maven仓库的视图:
- 右键pom.xml文件--->maven--->add dependency
- 在pom.xml文件里右键--->maven--->add dependency
- 坐下叫视图的dependencies
- 在maven仓库视图中点击add添加依赖,前提是需要给maven创建索引
- 给maven创建索引:
- window--->show view--->other--->maven repositories
- 在view视图中,右键Local Repositories下的Local Repository--->rebuild index
- 创建了索引后就可以从仓库里添加jar包了
- 添加jsp依赖
- servlet依赖
- struts2-core依赖
- 添加struts2-core的jar包,会把struts2-core需要用到的其他jar包一同引入进来
- 写一个action,跳转到一个jsp页面,配置filter
- 运行程序,会报错,这是因为jar包冲突了
- 运行的tomcat有jsp,servlet的jar包
- 引入的依赖中也有jsp,servlet的jar包
- 解决:
- 在添加依赖的时候有一个scope,修改scope的值(provided)
- 依赖范围scope 默认 compile
- compile(struts2-core) : 编译时需要,测试时需要,运行时需要,打包时需要
- provided(jsp,servlet) : 编译时需要,测试时也需要,运行时不需要,打包时不需要
- runtime(数据库驱动包) : 编译时不需要,测试时需要,运行时需要,打包时需要
- test(junit) : 编译时不需要,测试时需要,运行时不需要,打包也不需要
添加插件- pom.xml中右键--->Maven add plugin--->输入tomcat
- 添加完毕后配置文件有了tomcat的<plugin>标签,我们需要加上自己的配置
[XML] 纯文本查看 复制代码 <confoguration>
<port>8888</port>
<path>/first</path>
</configuration>
- 启动的时候路径和端口都会改变
- 如果我们需要用tomcat7来启动工程的话,把刚刚的插件注释掉,然后添加tomcat7的插件,运行时用tomcat7:run
常见问题- 在debug模式下没有进入到源码中,通过add project
- 如果还是没有显示的话,右键项目,run as -->debug as-->debug configurations--->source--->把项目添加进来
|
|