项目的开发环境(eclipse中包含jre包、 j2ee包)、测试环境的部署(Tomcat部署)是不一样的,主要体现在包的结构等
之前是通过Ant进行打包部署,在其中写相应的脚本,告诉需要引用哪些包。
Maven集成了Ant
2.依赖
scope参数:依赖范围
maven项目结构
src目录下有main (主代码)、test(测试代码),与src同级的文件有个pom.xml
排除传递性依赖(exclusion标签声明)
4.生命周期
5.插件
配置环境变量(必须依赖jdk,所以要求环境变量中有对应的JAVA_HOME)
配置maven信息
新建环境变量
然后配置Path
在之后添加 ;%maven_home%\bin;
注意原来如果有;则不需要重复添加;(所有的变量用逗号分隔)
查看是否正常运行
cmd下 输入
mvn -v;
(maven的jdk版本和环境变量中配置的JAVA_HOME一致)
java -version
(可能与环境变量中的jdk版本不同)
最常用最上边两个
每一个阶段都有相应的命令(执行命令之前的命令都会被默认执行)
主要文件pom.xml
src 目录分为:
main:(主项目-开发用到)
test:(测试项目)
maven项目
cmd进入maven项目的路径下
在maven安装目录下conf
配置文件settings.xml
这个路径往往需要修改
在apache的安装同级目录下新建一个文件夹
配置本地仓库路径
在cmd的mavan项目路径下 执行
mvn clean :如果项目之前做过相应的编译,则把编译的文件清除掉
BUILD SUCCESS 成功clean
编译命令
mvn compile:大量下载远程资源jar包(需要的资源在pom.xml中定义)–资源下载有约束,也会报错,网络不通畅也会影响
编译后,mavenLocalDB文件中有了内容
maven与eclipse等开发平台集成,可以方便的引用资源jar包
compile 完成之后 说明资源以下载,而且说明正确编译 而且在maven项目的文件夹中多了一个文件target
target中主要存放class,即编译后的文件
测试优先,大型项目 团队成员更新代码后,要做maven test,以保证更新的代码正确
主要执行maven项目src\test的内容,而maven compile编译的是maven项目\src\main中的内容
下载test需要的包(测试框架的包)
测试包出错 BUILD FAILED(注意错误内容)
spring 4测试框架 可能会报缺少插件
最低版本满足 jdk1.8 18
所以要更改jdk版本
不同版本的maven下载资源时可以重用(注意maven版本和jdk版本之间的关系)
mvn install :形成一个war包可供发布(打包的实质就是整合jar包外部资源和编译的class产生可运行的war包,可以tomcat或者weblogic上部署运行)
需要下载大宝的工具文件,第一个打包会比较慢,第二次打包会更快(因为打包资源已下载好)
打包后生成的war包在maven项目目录的target下边
此处为spring项目 ,war包拷贝到tomcat目录下边可直接运行
Maven常用命令
mvn clean:清除以前编译的代码,删除target目录和相关内容删除
mvn compile : 编译项目主目录下边的代码(main下的代码)–下载main相关代码依赖的外部资源
mvn test :编译项目主目录下边的test代码(编译test之前一定编译main代码,保证main正常编译成功)–下载test依赖的外部资源 前提需要执行mvn compile(若不主动执行,命令会自动执行mvn compile)
mvn install: 把编译好的class文件和下载的jar都打成一个完整的*.war文件,直接使用war包可以进行部署
所谓的eclipse项目其实就是多了一些项目的管理文件
比如.classpath 、.project 、.settings文件夹等
而maven项目只有src 、pom.xml
通过命令可以给maven项目生成eclipse配置信息
cmd下进入到maven项目的路径下
mvn eclipse:eclipse :运行此命令可以给maven项目生成eclispe需要的项目管理文件
运行后目录结构发生变化
用eclipse打开构建后的项目
开发结构其实无所谓
真正的项目运行是部署在tomcat服务器上的
部署结构和开发结构不同的 比如:
maven项目在eclipse中的开发结构
可能会报错
资源jar包引用可能会出现问题,是由于路径引用错误导致的,缺少jar包
所以要修改默认c盘的路径
在eclipse中配置 查看maven版本
拷贝maven安装目录的配置文件 路径
可能由于在eclipse中jdk版本不一样,maven也会报错
maven项目中的pom.xml中声明了jdk版本
在eclipse中单独设置jdk 换成jdk1.7 指明已安装的jdk
此时maven项目在eclipse中不会报错
可以对maven项目在eclipse中进行修改
在cmd下进行编译、测试以及打包
jetty:与tomcat同样功能的一个内置的serveltCotainer容器,实质也是Servlet容器
注意 :此文用的maven项目是springMVC的一个测试项目