前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >maven 项目模型

maven 项目模型

作者头像
潇洒
发布2023-10-20 10:37:12
1710
发布2023-10-20 10:37:12
举报
文章被收录于专栏:石头岛

pom.xml 项目对象模型

每一个项目都有一个pom.xml,Project Object Model,项目对象模型。 用面向对象的思维还看这个文件,它就是一个项目。 该文件用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等等。

所有的pom.xml都要配置三个最基本的东西,其它的不配都没关系。下面的配置只需要知道即可,因为工具会自动生成。

示例:

代码语言:javascript
复制
<!-- 固定的头部信息,不要去改变 -->
<modelVersion>4.0.0</modelVersion>

<!-- 项目座标 -->
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<version>1.0-SNAPSHOT</version>

说明:

  1. modelVersion: 永远的4.0.0,这个固定存在的。
  2. groupId: 项目的项目组,就是把域名反转,一样的。如:com.test.study
  3. artifactId: 项目中的哪一个模块。一般用"项目名-模块名"。如:study-frist
  4. version: 快照版本一般是1.0-SNAPSHOT,或SNAPSHOT-0.0.1

groupId、artifactId、version 还有一个作用,就是可以被其他的项目引用时,当作引用部头。这就是模块化的管项目管理理念。

项目座标

什么是项目座标

项目座标,是为了让别人maven项目在引用当前项目时可以定位到的信息。这就是项目座标的意义。 两个项目之前之所以可以互相调用就是因为项目座标起了作用,maven通过识别项目座标来识别项目中的信息包括版本,包路径之类的信息。 注意,不要陷入理解的误区,maven是项目和管理的工具,但他不是项目的一部分。maven通过pom.xml识别项目信息从而帮助项目进行添加、打包、引用等操作,但不代表java项目代码本身会被maven影响,只是项目的构建形式不同了而已。项目是项目、代码是代码,不要混为一谈。maven做的是项目构造方面的操作,而不是代码的操作,仔细分析maven的功能,没有一个是对会代码产生影响的,maven的操作都是对项目构建产生影响。

项目座标命名规则

1.GroupID是分组ID,以包名方式命名,实际上就是命名空间的作用。惯例以部门命名。

com.company.department com.test.cash com.test.deployment

2.ArtifactID就是项目的唯一的标识符,也就是模块名称。实际对应项目的名称,

admin //view层 bussiness //service、dao commont //公共代码库

问题:不同的项目之前的部门名称可以相同,只是ArtifactID 不同可以吗? 答案是的,以模块的思想去看待。不同的项目只是不同的模块,把每一个不同的项目看成是不同功能的模块但是他们是同属于一个项目下的,所以可以以同一个GroupID命名。

3.引用项目座标

A项目的pom.xml中项目座标

代码语言:javascript
复制
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<version>1.0-SNAPSHOT</version>

B项目引用A项目座标

代码语言:javascript
复制
<dependencies>
   <dependency>
      <!-- A项目的项目座标 -->
      <groupId>com.mycompany.app</groupId>
      <artifactId>my-app</artifactId>
      <version>1.0-SNAPSHOT</version>
   </dependency>
</dependencies>

作用:B项目即可引用A项目中的类了进行使用了。

完整示例

代码语言:javascript
复制
<project
       xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
       
 <!-- 固定的头部信息,不要去改变 -->
 <modelVersion>4.0.0</modelVersion>

 <!-- 项目座标 -->
 <groupId>com.mycompany.app</groupId>
 <artifactId>my-app</artifactId>
 <version>1.0-SNAPSHOT</version>


 <packaging>jar</packaging>                //打包格式

 <name>my-app</name>
 <url>http://maven.apache.org</url>

 <properties>
   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 </properties>
       <!--插件信息,配完以后,maven会自动去下载。-->
 <dependencies>
   <dependency>
     <groupId>junit</groupId>
     <artifactId>junit</artifactId>
     <version>3.8.1</version>
     <scope>test</scope>
   </dependency>
 </dependencies>
</project>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-11-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • pom.xml 项目对象模型
  • 项目座标
    • 什么是项目座标
      • 项目座标命名规则
      • 完整示例
      相关产品与服务
      项目管理
      CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档