Maven项目相关知识点汇总

举报
多米诺的古牌 发表于 2022/08/14 17:41:34 2022/08/14
【摘要】 pom是Project Object Model的简称,即项目对象模型。它是Maven项目中的XML配置文件。张什么样呢?就是这样的:pom.xml。主要作用是管理源代码、版本信息、配置文件信息、开发者的信息和角色信息、项目授权、url、继承和项目使用的依赖管理等等,一个Maven项目必须包含pom.xml配置文件。 

1、pom的简介 

        pom是Project Object Model的简称,即项目对象模型。它是Maven项目中的XML配置文件。张什么样呢?就是这样的:pom.xml。主要作用是管理源代码、版本信息、配置文件信息、开发者的信息和角色信息、项目授权、url、继承和项目使用的依赖管理等等,一个Maven项目必须包含pom.xml配置文件。 

其中各个pom依赖只是为了聚合工程或传递依赖用的。

2、Maven项目打包类型

       maven项目的打包类型有三种:pom、jar、war。

       会通过packing标签来进行标识,默认是jar类型,具体如下:

       <packaging>pom</packaging>表示父类型都为pom类型。

       <packaging>jar</packaging>表示内部调用或者是作服务使用。

       <packaging>war</packaging>表示需要部署的项目。

2.1 jar类型介绍 

       2.1.1 扩展名为.jar(Java Application Archive简写)的文件,其中包含Java类的普通库、资源(resources)、辅助文件(auxiliary files)等。 

       2.1.2 jar包是java打的包,一般只包括一些编译后class文件和一些部署文件。 

       2.1.3 jar包通常是开发时要引用通用类,打成包便于存放管理。 

       2.1.4 常用于内部、接口、服务部署等。 

2.2 war类型 

       2.2.1 扩展名为.war(Web Application Archive)的文件,包含全部Web应用程序。

       2.2.2 war包可以理解为javaweb打的包,是一个web模块,包括写的代码编译成的class文件,依赖的包,配置文件,所有的网站页面,包括html,jsp等等。一个war包即为一个web项目,里面是项目的所有东西。 

       2.2.3 war包需要发布到一个容器里面,比如Tomcat需要将war包放置到它的\webapps\目录下,启动Tomcat就可以自动解压到你的web目录。 

       2.2.4 war类型是Sun公司提出的一种Web应用程序格式,与jar类型类似,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织:通常其根目录下包含有Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其它类(JavaBean)。 

2.3 pom类型

       2.3.1 项目中使用maven进行模块管理时,每个模块下对应都会有一个pom文件,因为pom文件中维护了各模块之间的依赖和继承关系。 

       2.3.2 使用maven进行模块划分管理时,一般都会有一个父级项目,pom文件除了GAV(groupId, artifactId, version)是必须要配置的,另一个重要的属性就是packaging打包类型,所有的父级项目的packaging都为pom(可以到pom.xml文件里面进行手动配置),packaging默认是jar类型,如果不作配置,maven会将该项目打成jar包。 

3.Maven项目的多模块

       Maven项目的多模块(multi-modules)项目,也被称为聚合项目,通常由一个父模块和若干个子模块构成。其中,父模块必须以pom打包类型,通过<modules>标签标识出所有下属的子模块。其中的每个module,都是另外一个Maven项目,并且子类项目的packaging值只能是war或者jar。

父模块的POM示例如下:

<packaging>pom</packaging>    
<modules>  
  <module>test-one</module>  
  <module>test-two</module>  
  <module>test-three</module>  
</modules> 

以上就是Maven项目的知识点的简单归纳汇总。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。