前言
1.maven的作用
a.管理jar
i.增加第三方Jar (commons-fileupload.jar commons-io.jar)
ii.jar包之间的依赖关系 (commons-fileupload.jar自动关联下载所有依赖的jar,并且不会冲突)
b.将项目拆分成若干个模块
2.Maven概念:
是一个基于Java平台的自动化构建工具
make-ant-maven-gradle
清理:删除编译的结果,为重新编译做准备。
编译:java->class
测试:针对于项目中的关键点进行测试,亦可用项目中的测试代码去测试开发代码
报告:将测试的结果进行显示
打包:将项目中包含的多个文件压缩成一个文件,用于安装或部署。 (java项目-jar、web项目-war)
安装:将打成的包 放到 本地仓库,供其他项目使用。
部署:将打成的包 放到 服务器上准备运行。–将java、js、jsp等各个文件进行筛选、组装,变成一个可以直接运行的项目
-Eclipse中部署的web项目可以运行
-将Eclipse中的项目,复制到tomcat/webapps中则不能运行
-项目可以在webappas中直接运行
Eclipse中的项目 ,在部署时会生成一个对应的部署项目(在wtpwebapps中),区别在于:部署项目没有源码文件src(java),只有编译后的class文件和jsp文件
因为二者目录结构不一致,因此tomcat中无法直接运行Eclips中复制过来的项目 (因为如果要在tomcat中运行一个项目,则该项目必须严格遵循tomcat的目录结构)
Eclipse中的项目要在tomcat中运行,就需要部署:
a.通过Eclipse中Add and Remove按钮进行部署
b.将Web项目打成一个war包,然后将该war包复制到tomcat/webapps中即可执行运行
自动化构建工具maven:将原材料(java、js、css、html、图片)->产品(可发布项目)
编译-打包-部署-测试 --> 自动构建
正文
1.下载配置maven
a.配置JAVA_HOME
b.配置MAVEN_HOME(或M2_HOME): D:\apache-maven-3.5.3
c.配置path: %MAVEN_HOME%\bin
d.验证: mvn -v
e.配置本地仓库maven目录/conf/settings.xml
默认本地仓库:C:/Users/xutian/.m2/repository
修改本地仓库:<localRepository>D:/mvnrep</localRepository>
2.使用maven:约定优于配置
硬编码方式: job.setPath("d:\\abc") ;
配置方式: job conf.xml---------------<path>d:\\abc</path>
约定: job 使用默认值d:\\abc
maven约定的目录结构:
maven项目/模块
-src
--main 程序功能代码
--java java代码
--resources 资源代码、配置代码
--test 测试代码
--java
--resources
pom.xml 项目对象模型
gav:
<groupId>域名反转.大项目名</groupId>
<groupId>org.lanqiao.maven</groupId>
<artifactId>子模块名</artifactId>
<artifactId>HelloWorld</artifactId>
<version>版本号</version>
<version>0.0.1-SNAPSHOT</version>
依赖:
commons-fileupload.jar --> commons-io.jar
A中的某些类需要使用B中的某些类,则称为A依赖于B
在maven项目中,如果要使用一个当时存在的jar或模块,则可以通过依赖实现(去本地仓库、中央仓库去寻找)
运行mvn命令,必须在pom.xml文件所在目录
maven常见命令:(第一次执行命令时,因为需要下载执行该命令的基础环境,所以会从中央仓库下载该环境到本地仓库) (Maven基础组件,基础jar)
mvn compile 只编译main目录中的java文件,不test
mvn test 测试
mvn package 打成jar/war
mvn install 将开发的模块放入本地仓库,供其他模块使用(放入的位置是通过gav决定)
mvn clean 删除target目录(删除编译文件的目录)