项目管理--maven浅析《一》之开发流程及常用命令

来源:互联网 发布:中韩贸易数据 编辑:程序博客网 时间:2024/05/17 00:57

一、什么是Maven?

Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。在多个开发团队环境时,Maven可以设置按标准在非常短的时间里完成配置工作。由于大部分项目的设置都很简单,并且可重复使用,Maven让开发人员的工作更轻松,同时创建报表,检查,构建和测试自动化设置。

注:Maven是Apache下的一个开源项目,是纯Java开发的,并且只能管理Java项目。

二、Maven的优点?

传统项目:


maven项目:

那么为什么两个相同的项目大小差距如此之大呢?原因就在于项目的jar包,总所周知,我们在做项目开发时jar包是很重要的

所以传统项目和Maven项目的差距就在于jar包;

传统项目:把所需的jar都要拷贝到项目下

Maven项目:不需要拷贝jar包,但并不是项目不需要jar包,而是该项目会到仓库中找jar包。这种方式叫做依赖管理,

可以节省空间。

那么问题来了,依赖管理又是什么?它是以来什么如何进行管理的呢?

原理:当我们创建一个maven项目并且完成好配置(如何配置后边说),我们项目中所需要的jar包,项目会根据指定的

本地仓库去找所需的jar包。那么,本地仓库如何没有所需的jar包,该怎么办呢?

这就要引出三级仓库:本地仓库、远程仓库(私服)、中央仓库

本地仓库:是指本地的一个装有jar包的文件夹个人维护

远程仓库(私服):是指公司的一个管理jar包的文件夹公司维护

中央仓库:是指maven相关专业工作人员进行维护的(据说有大约两个亿的jar包)

关系如图:

maven项目首先要到本地仓库找,有则使用,

没有则到远程仓库找,有,把找到的jar包拷贝一份到本地仓库,然后使用

没有,则到中央仓库找,找到之后拷贝到远程仓库和本地仓库,然后使用

注:如何要让maven使用我们制定的本地仓库时,我们需要做些配置(在maven--conf--setting.xml中)

根据配置文件可知,默认的的本地仓库路径为${user.home}/.m2/repository,${user.home}是指当前用户文件夹。

三、Maven的安装配置

1、下载Maven(百度官网下载即可)


2、解压缩文件


3、配置

在系统变量中配置MAVEN_HOME --- F:\UserJar\apache-maven\apache-maven-3.3.9

然后再Path系统变量后添加%MAVEN_HOME%\lib;

注:该版本的maven所需要的jdk要求在1.7以上

4、测试(命令:mvn -v)

图中标黄色的说明:maven可以自动找jdk运行环境,编码字符集,计算机操作系统等

四、Maven项目开发(此处以Myecplise10.0为例

1、指定设置本地仓库

2、新建maven项目

注:图2标黄色选项默认是不选的,咱们新建项目都选上(跳过骨架),否则项目目录将不全

图三中:Group Id:公司或组织名称

Artifact Id:项目名称

Version:版本

Packaging:打包方式(jar--Java项目、war--web项目)

3、手动添加web.xml配置文件

注:webapp相当于web项目中的webRoot,我们需要在WEB-INF文件夹下创建一个web.xml配置文件,

一般都是拷贝过来。

4、处理编译版本(pom.xml)(设置jdk版本为1.7)【这段配置不是必须的】

<build><!-- 配置了很多插件 --><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.5.1</version>  <configuration><source>1.7</source><target>1.7</target><encoding>UTF-8</encoding></configuration></plugin></plugins></build>
5、创建servlet,此时就会出现问题了,大量报错,就是因为我们的项目没有导入jar包,

导入jar包的配置文件如下

<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.9</version><scope>test</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jsp-api</artifactId><version>2.0</version><scope>provided</scope></dependency></dependencies>
分别导入了Junit、servlet-api、jsp-api,当然导包绝对不会这样编码配置文件的方式,后边还会细说。

配置完成之后错误就会消失了。此时项目中会出现对象的jar包文件

5、启动项目,右键项目 -- Run AS -- Maven build...

到此,一个maven项目架构就搭建好了。

四、maven项目整合struts2(在以上的基础上开发

1、导包,上边的案例我们是为了解maven项目结构直接拷贝的代码,这次我们就看如何导入jar包

添加视图maven Repositores

右键Local Repositories,点击builde index

这样视图就创建好了,那么我们如何添加所需jar包呢?

打开pom.xml文件的Dependencies视图,

点击add,在A出输入你所需要的jar包,就会自动检索(在你创建的索引中检索),

     选中你所需要的jar包,Group Id、Artifact Id、Version就会自动选中

注:C处Scope属性选择provided,可以避免面目导入的jar包和tomcat中的jar包中途问题

添加完成后再看pom.xml文件,我们添加的jar包配置就会出现了,并且相关包也会自动导入

截止到这,maven项目整合struts2就算结束了,

下边就是创建struts.xml配置文件、在web.xml文件中配置strutsPrepareAndExecuteFilter控制器,创建动作类、

创建视图,就可以完成了。比较简单,这里不再细说。

五、Maven常用命令(clean、compile、test、package、install、tomcat:run)

clean:清理编译文件(也就是项目编译后会产生一个target文件夹(编译文件))

compile:编译主目录文件

test:编译并运行test目录的代码

package:打包

命令执行完成,生成war包(项目名后边的0.0.1-SNAPSHOT就是创建maven项目是选的版本号)

install:把项目发布到本地仓库

命令执行完成后,项目会发布在本地仓库

tomcat:run 一键启动项目

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

尽人事,听天命。我相信只有那些疯狂到自以为能改变世界的人才会真正改变世界。
坚持别人不能坚持的坚持,终将收获别人不能收获的收获。这就是我,一个纯粹想靠技术改变命运的人。





阅读全文
0 0
原创粉丝点击