Maven基础
它是阿帕奇公司出品的项目构建工具
1、Maven的优点
1、项目大小比传统项目小,原因是项目中没有jar包,需要配置本地仓库,通过本地仓库加载jar包,根据jar的坐标,而jar包的坐标由三部份组成:
Maven项目如果需要某一个jar包,只需要在maven配置里面配置所需jar包的坐标信息,然后根据坐标信息去仓库里面找先去本带仓库,再去中央仓库
2、Maven的优点实现方式
Maven的两大核心:依赖管理和项目构建
依赖管理:就是项目所使用的jar包进行依赖管理统一管理在本地仓库,通过jar包坐标进行寻找
项目构建:项目在编码完成后,对项目进行编译、测试、打包、部署一系列的操作都通过命令来完成
3、Maven的安装过程、以及配置本地仓库
纯java开发,运依赖jdk3.1 Maven的安装过程
3.1maven的安装
解压后的资料
结构目录与功能
配置环境变量
关于配置环境变量在这里小小的记录一下,系统变量和环境变量之间的区别:系统变量比较牛逼,他可以对所有的用户都起作用,而用户变量只对当前用户起作用,若果其他用户登录且在系统变量没有配置的情况下,那么该用户就无法享受到变量的好处,根据个人喜好或者需求进行配置环境变量。
~~
关于报错的:
》》》》JAVA_HOME is set to an invalid directory.《《解决方式,java_home中配置的路径最后的分号去掉
安装成功的信息
3.2配置本地仓库
本地仓库:自己安装
1、配置本地仓库
2、修改maven配置文件
找到localRepository,配置本地仓库的位置,一定要确保路径能直接到达,告诉maven我们配置的仓库在哪
关于私服的配置:统一放在一个地方,系统开发,存在于本地的局域网内
中央仓库:在互联网上放着,存放了基本上满足所有人员开发的jar包
4、Maven的项目标准的目录结构
导入maven项目,用maven下面的选项
5、Maven的常用命令
清理命令:mvn -clean
删除那些编译好的.Class文件,这写编译好的文件都是在target,实际上清理target
清理命令是有插件支持实行的
编译命令:mvn –compile,编译好会再成生成target文件,对应也是相关jar插件支持;
测试命令:mvn –test,所要测试的java类的类名以Test结尾,将项目根目录下src/test/java目录下的单元测试类都会执行
打包命令:mvn-package,根据项目本身决定,不需指定打什么包
安装命令:mvn-install 本地多个项目公用一个包,打包到本地仓库。
6、Maven整合
6.1配置maven环境
构建索引
6.2新建项目
6.2.1关于一些错误
新建maven项目时,即使你是按照跳过自定选择,让工具帮你生成,也会出现
@项目目录缺失的情况,所有我们根据标准结构目录进行补全和更新,比如我这里缺少了web.xml
@@还有新建项目的tomcat插件版本会比较低,所以我们就进行插件配置
用maven-updateproject之后,会更改jdk插件
错误:
当你新建servlet或者其的contollor时如果出现一下情况project无法选择原因就是你在建项目时选择的是jar,不是war
比如说当你新建一个servlet时,会报错,这时候是缺少servlet-api这个jar包,这个时候你你可以选择在pom.xml文件中,添加依赖
当然也可以选择在
查找到jar包之后直接添加
6.2.2关于jar包的生存周期
这样会减少冲突,比如说tomcat中自带的jsp和servlet jar包,都是在编译和测试有效,在运行时无效,这时候我们就需要设置成
当然也可界面操作
运行的时候可能会出现一个问题,并附上解决方法
6.2.3当需要调试的时候时候一定需要关联源码
6.2.4测试运行项目:
下图是正常启动,还有debug启动,但是一定要关联源码
6.3maven整合struts2
在这里最好是先将各类jar包配置完好,后期在写各类配置文件的时候可以更好地提示
1、web.xml
2、action类
3、struts.xml文件
4、jsp文件
5、总结
这里没有牵扯spring 等其他的东西,所以比较简单,只是简单的maven+struts2整合,在这之中还会出现一些错误
第一个:写好的项目未添加javax.servlet这个jar包,导致新建的jsp出错;解决方式
<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> <version>2.0</version> <scope>provided</scope> </dependency> |
第二个问题是:Unable to compile class for JSP,这个就很恶心了,我整了好一会,那么在这里我们需要配置一下tomcat插件
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> |
其次当我们运行的时候命令要改成tomcat7:run