项目管理利器(Maven)——maven介绍及环境搭建

来源:互联网 发布:微信服务号 域名备案 编辑:程序博客网 时间:2024/05/21 10:01

项目管理利器(Maven)——maven介绍及环境搭建

maven可以帮助我们更有效地管理项目,它也是一套强大的自动化构建工具,覆盖了编译、测试、运行、清理、打包和部署等整个项目周期。它提供了一个仓库的概念,统一帮助我们管理项目所依赖的第三方jar包,最大地避免了由于运行环境配置的不同而引起的问题。

1、目录结构:

boot目录:包含一个类加载器框架。bin目录:包含mvn的运行脚本。confing目录:包含配置文件。lib目录:包含mvn使用的类库。
maven目录结构:
src:                  -main                       -java                            -package                  -test                       -java                            -package

2、配置环境变量:

M2_HOME maven主目录path 添加 ;%M2_HOME%\bin3、检测安装:cmd: mvn -v
============================================================================

mvn命令列表

1. mvn -v 版本。2. mvn compile 编译。3. mvn test 测试。4. mvn package 打包。5. mvn clean 清除maven生成的target目录。6. mvn install 将生成的jar安装到本地仓库中。

maven编译代码的流程:

1. 执行mvn compile 命令编译java代码文件;2. 如果发现代码中引用到了其他的包文件(jar包);3. 首先回去核心配置文件pom.xml文件中去查找相应的配置依赖;如图dependency中4. 根据配置依赖先去本地的仓库中查找jar包资源;(可以再相应的目录下用install创建)5. 如果本地不存在,则会再去联网到maven的中央仓库中查找
=======================================================================================

项目管理利器(Maven)——自动建立目录骨架

Maven创建目录的两种方式:

1.archetype:generate 按照提示进行选择。2.archetype:generate 
-DgourpId=组织名,公司网址的反写+项目名称-DartifactId=项目名-模块名-Dversion=版本号-Dpackage=代码所在的包名实例:mvn archetype:generate -DgroupId=com.imooc.maven04 -DartifactId=maven04-demo -Dversion=1.0.0-SNAPSHOT -Dpackage=com.imooc.maven04-demo
==========================================================================

项目管理利器(Maven)——maven中的坐标和仓库

http://www.mvnrepository.com/ 这个是官网1、坐标。2、构件通过坐标作为其唯一标识。3、仓库:-本地仓库。-远程仓库:maven-model-builder-3.3.3.jar\org\apache\maven\model,超级pom.xml文件,全球中央仓库地址:https://repo.maven.apache.org/maven2-镜像仓库:/conf/setting文件:
<mirror><id>maven.net.cn</id><mirrorOf>central</mirrorOf><name>central mirror in china</name><url>http://maven.net.cn/content/groups/public</url></mirror>
4、修改本地仓库的位置:<localRepository>D:/Maven/repository</localRepository>Ps:一旦配置了镜像仓库,那么先前的所有配置都会转到镜像仓库中。 默认仓库位置.m2 repository,将settings.xml复制到更改后的本地仓库中,这样maven版本更新了,也不用修改settings.xml了
===========================================================================================

在eclipse中安装maven插件以及创建maven项目:

①在eclipse4.0及MyEclipse中就不需要安装maven插件,在window--preference中可以查看是否有maven插件,没有的话就需要安装Maven插件,直接复制Maven插件到eclipse安装目录中的dropins中,然后修改eclipse.ini,在这个文件里的512m后面添加-vm,换行,再添加jdk/bin/javaw.exe保存。②eclipse是默认运行在jre之上的而maven需要jdk的支持,需要tools.jar在jdk/lib目录中,所以修改eclipse的JRE,java---Installed JREs--ADD--Next--把本地JDK的目录放到JRE home中,并设置Dmaven.multiModuleProjectDirectory=$M2_HOME--最后勾选JDK③更改maven本地的配置Installactions---ADD---把本地的maven目录放进去④修改setting的路径会出现的问题:1、如果版本不匹配 则mvn -v查看maven的jdk版本,然后在eclipse中配置当前使用的jdk2、run as-->Maven build...-->在goals中compile(可以在此处使用其他的命令,如:package)---》run若报-Dmaven.multiModuleProjectDirectory错误,则在选项-->java--》installed JRES 中设置jdk的参数,添加上“-Dmaven.multiModuleProjectDirectory=$M2_HOME”
===========================================================================================

Maven的三个生命周期:

clean 清理项目:又分为三个阶段(pre-clean执行清理前的工作、clean清理上一次构建生成的所有文件、post-clean执行清理后的文件)default 构建项目(最核心):compile、test、package、install都属于defaultsite 生成项目站点(根据POM的信息自动生成站点):
pre-site 在生成项目站点前要完成的工作、site 生成项目的站点文档、post-site 在生成项目站点后要完成的工作、site-deploy 发布生成的站点到服务器上如下:使用source插件将项目的源码打包,使用命令 clean package
==========================================================================================

项目管理利器(Maven)——Pom.xml解析

<groupId>反写的公司网址+项目名</groupId><artifactId>项目名+模块名</artifactId><version></version>//版本号0.0.1-snapshot,第一个0表示大版本号,第二个0表示分支版本号,第三个1表示小版本号//snapshot快照,alpha 内部测试,beta 公测,Release 稳定,GA 正式发布<packaging>默认:jar  </packaging><name>项目描述名</name><url>项目地址</url><!-- 依赖列表 --><dependencies><!-- 依赖项 --><dependency><groupId></groupId><artifactId></artifactId><version></version><type></type><scope>依赖的范围</scope><optional>设置依赖是否可选,默认是false</optional><!-- 排除依赖传递列表 --><exclusions><exclusion></exclusion></exclusions></dependency></dependencies><!-- 依赖的管理,一般定义在父模块中,由子模块去继承 --><dependencyManagement><dependencies><dependency></dependency></dependencies></dependencyManagement><!-- 对构建行为提供相应的支持 --><build><!-- 插件列表 --><plugins><plugin><!-- 指定坐标 --><groupId></groupId><artifactId></artifactId><version></version></plugin></plugins></build><!-- 一般在子模块中指定所继承的父模块 --><parent></parent><!-- 模块列表 --><modules><module></module></modules>

=================================================================================

Maven 配置web项目

1:打开Eclipse

2:创建Maven项目,选择archetype-webapp模板

3:解决Servlet没有生命依赖的问题,在pom.xml中添加servlet的依赖,可以去中央仓库选择servlet版本

例如:
<dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.0-b01</version></dependency>

4:手工完善Maven约定好的目录结构

可以在navigator窗口中手动新建../src/main/java../src/test/java

5:Project Explorer中更新项目

6:创建项目的输出目录

build path中设置输出路径output folder,确保每个module都输出在../tartet/classes目录中

7:将Maven项目转换为Web项目

右击-属性-project facets-勾选动态模板(Dynamic Web Module)

8:修改部署时配置去掉多余的配置项例如:测试代码

右击-属性-Deployment Assembly-删除多余的配置项(测试代码)

9:使用package命令打包项目—使用jetty这个插件(在Maven的中央插件库中寻找)作为Web容器,在中央仓库查找jetty的plugin坐标配置到pom.xml中

pom.xml例子:<build><finalName>webbproject-demo</finalName><plugins><plugin><groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version><executions><execution><!-- 在打包成功后使用jetty:run来运行jetty服务 --><phase>package</phase><goals><goal>run</goal></goals></execution></executions></plugin></plugins></build>




                                             
0 0