当前位置: 首页 > news >正文

天津泰达建设集团网站免费网站安全软件大全游戏

天津泰达建设集团网站,免费网站安全软件大全游戏,wordpress企业主题制作视频教程,安徽新闻网一、什么是pom.xml pom.xml是Maven项目的核心配置文件,它是 项目对象模型 - Project Object Model(POM)的缩写。POM定义了项目的所有属性,包括项目的名称、版本、依赖关系、构建配置等。使用pom.xml,我们可以轻松地管…

一、什么是pom.xml

pom.xml是Maven项目的核心配置文件,它是 项目对象模型 - Project Object Model(POM)的缩写。POM定义了项目的所有属性,包括项目的名称、版本、依赖关系、构建配置等。使用pom.xml,我们可以轻松地管理项目的构建和依赖关系,让我们能够更专注于业务逻辑的开发。

二、POM文件说明

<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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>my-project</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><name>My Project</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target></properties><parent><!-- 父POM的声明 --></parent><modules><!-- 子模块 --></modules><distributionManagement><!-- 部署管理 --></distributionManagement><repositories><!-- 仓库配置 --></repositories><pluginRepositories><!-- 插件仓库配置 --></pluginRepositories><dependencies><!-- 项目依赖 --></dependencies><build><plugins><!-- 构建过程中使用的插件 --></plugins></build><reporting><!-- 报告配置 --></reporting></project>

说明如下: 

  • modelVersion: 指定了POM模型版本。

  • groupId: 项目组ID,通常是项目的包名。

  • artifactId: 项目构件ID,通常是项目名。

  • version: 项目版本,可以加上SNAPSHOT作为快照版本。

  • packaging: 打包方式,如jarwar.

  • name: 项目的展示名。

  • url: 项目的URL。

  • properties: 自定义属性。

  • dependencies: 项目依赖列表。

  • build: 构建配置,包括插件配置等。

  • parent: 父POM,用于继承。

  • modules: 子模块列表。

  • distributionManagement: 部署管理配置。

  • repositories: 仓库配置,用于依赖的存储。

  • pluginRepositories: 插件仓库配置。

  • reporting: 报告配置,用于站点生成。

三、补充说明 

1、依赖冲突

如果依赖有冲突,那实际采用的版本遵循以下原则。

  • 最短路径优先
  • 声明优先
2、屏蔽依赖

如果项目A引入了一个依赖a,其他项目依赖项目A时会自动引入依赖a,如果我们不希望其他项目因为项目A引入依赖a时,我们可以在项目A引入依赖a时进行配置optional选项,令值为true即可。

比如Project2引入了Project1,而Project1引入了log4j依赖。我们可以看到Project2也引入了log4j

 这是我们在Project1的pom文件中设置,令optional=true 

<dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version><optional>true</optional>
</dependency>

刷新一下Maven,就可以看到Proejct2不再引入log4j依赖了。 

3、排除依赖 

想要Project2不间接依赖log4j的话,也可以主动在Project2的Pom文件中配置。使用<exclusions>。这样也可以达到目的。

<dependency><groupId>com.mavenlearning.project1</groupId><artifactId>Project1</artifactId><version>1.0.0</version><exclusions><exclusion><groupId>log4j</groupId><artifactId>log4j</artifactId></exclusion></exclusions>
</dependency>
4、依赖范围 

依赖范围是指导入的依赖可以在项目中的哪些阶段或者位置使用,使用<scope来定义。比如引入一个依赖junitscope=test,那junit这个依赖包只能在test方法中使用。其中, 打包范围是指packaging指令的范围。

scope主程序测试代码打包范例
compile(默认)YYYlog4j
testYjunit
providedYYservlet-api
runtimeYjdbc
5、聚合管理 

我们可以建立一个新项目,就叫Project,这个项目是个空项目,我把src下的文件都删了,只留一个pom.xml文件。

建立这个项目的目的是为了聚合管理剩下的三个项目。在Project的pom.xml文件中将<packaging>的值设为pom。表示这个项目是个空的项目。

之后加上<modules>标签,表示聚合管理这些项目,以后对Project进行的maven操作都会一起作用到<modules>中定义的项目

现在我们对Project项目进行install操作,日志如下。可以看到Project1,2,3都被一起install了。

6、dependencyManagement标签 

<dependencies>是定义项目的依赖,定义好之后,项目会去加载对应的依赖。<dependencyManagement>中是存放依赖的定义。等到需要用到依赖的时候就在<dependencies>指定<actifactId>和<groupId>即可。

比如下面就没有指定spring-contexg的版本,但是项目是知道要去使用5.3.15的。

<dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId></dependency>
</dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.3.15</version></dependency></dependencies>
</dependencyManagement>

通常来说,这个标签是用来统一管理依赖,一般在父项目中定义依赖,子项目就使用父项目中的依赖,不会导致版本号不一致的情况。 

http://www.tj-hxxt.cn/news/105117.html

相关文章:

  • 网站怎么重装wordpressgoogle优化排名
  • 义乌外贸网站开发安徽企业网站建设
  • 网页制作与网站建设技术大全昆明网络营销
  • wordpress 访问地址修改青岛百度seo
  • 一个空间放两个网站百度竞价app
  • b2b2c商城软件网站优化排名服务
  • 网站源码提取工具广州seo网站营销
  • 做网站大家都找谁下载百度极速版免费安装
  • 网站上传的图片怎么做的清晰度微信运营方案
  • 郑州网站建设培训nba交易最新消息
  • 我们做的网站是优化型结构中国大数据平台官网
  • hostinger建站wordpress百度直播推广
  • 深圳装修公司哪家好旺道seo优化软件怎么用
  • 汕头网站网店建设微信指数怎么看
  • 网站推广公司简介google推广及广告优缺点
  • 深圳网a深圳网站建设百度识图在线使用
  • 网站页面布局设计思路网站搭建关键词排名
  • 哪个网站上做自媒体最好黄页88网站推广方案
  • 厦门模板做网站漂亮的网页设计
  • 建设摩托车专卖店谷歌seo快速排名优化方法
  • 网站备案需要关闭百度指数排行榜
  • 福清做网站的公司web网站模板
  • 广州购网站建设seo计费系统开发
  • python语言程序设计基础商丘网站seo
  • 用windows搭建手机网站苏州百度推广公司
  • 学校网站建设的意义的主要负责人seo公司推荐推广平台
  • 苹果园网站建设许昌网站seo
  • 杭州哪里找网站建设的兼职怎么上百度搜索
  • 做一个小型网站多少钱天津seo网站管理
  • 自适应网站建站开发软件app需要多少钱