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

本文详细介绍Maven作为项目管理工具的功能与应用,包括环境搭建、目录结构、配置管理及常用命令等内容。同时介绍了如何利用Maven自动化构建过程,简化项目开发流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目管理利器(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中配置当前使用的jdk 2、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都属于default site 生成项目站点(根据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>

























                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值