Maven中pom文件常见的标签使用以及介绍
2、properties标签例如编译插件;举个例子,当我们的Web项目需要分别引入A架包与B架包;但是A架包 和B架包 因为依赖的传递性,分别 引入了 C架包的1.0版本和C架包的2.0版本,但是类加载器在执行的过程中只加载了1.0版本的架包,但是我们在编程或者写代码的时候,却调用了C架包中2.0版本中的多出的方法或者类,那么这个时候就可能会出现找不到方法或者,没有发现类的情况。...
·
一、pom文件介绍说明
1、下面是我做毕业设计时候的pom文件说明,可能部分说明不全,会在二级标题中,把需要特殊说明的,单独拎出来。
<?xml version="1.0" encoding="UTF-8"?>
<!--project是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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!--描述pom文件遵循从哪个版本的项目描述符 modelVersion 标签:从Maven 2 开始就固定为4.0.0-->
<!--代表当前pom.xml 所采用对标签结构-->
<modelVersion>4.0.0</modelVersion>
坐标信息 范围从大到小 groupId > artifactId > version
<!--描述项目组织的唯一标识,也就是项目是哪个公司或者组织开发的,通常使用域名或组织名称-->
<groupId>com.ligong</groupId>
<!--项目唯一标识,通常使用项目或模块名 如果一个项目中有多个工程,在代表项目下面对一个模块-->
<artifactId>have_take_out</artifactId>
<!--项目版本号-->
<version>1.0-SNAPSHOT</version>
<!--项目打包类型,默认值是jar,说明这是一个java工程,
还可以是war,说明是一个web工程、
pom :是欧盟这个工程是用来管理其他工程的工程。-->
<packaging>jar</packaging>
<!--引入起步依赖-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.5</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
在Maven 中定义属性值
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<!--引入Jar依赖列表 dependencies标签:配置具体依赖信息,可以包含多个dependency 子标签-->
<dependencies>
<!--配置一个具体的依赖信息-->
<dependency>
坐标信息:导入那个jar包,就引入什么坐标
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<!--如果不设置scope标签,m默认值就是compile
test 当前依赖仅参与项目的单元测试
runtime 当前依赖仅参与项目的运行阶段
provided 与compile 类似,区别在与不会参与项目的最终打包
system 从本地磁盘中引用一个jar包
-->
<!--如果作用于是system,那么还需要额外加入一个标签,如下-->
<scope>compile</scope>
<systemPath>jar包所在路径</systemPath>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.4.5</version>
</plugin>
</plugins>
</build>
</project>
2、properties标签
3、licenses配置开源许可证,了解
4、developers开发者信息
5、scm项目版本控制工具
6、bulid表示对项目的一些编译配置
7、plugins 插件配置
例如编译插件;
8、parent继承父类模块
9、modules标识子模块列表
二、依赖Jar包冲突原理,以及解决方案
举个例子,当我们的Web项目需要分别引入A架包与B架包;
但是A架包 和B架包 因为依赖的传递性,分别 引入了 C架包的
1.0版本和C架包的2.0版本,但是类加载器在执行的过程中只加载了1.0版本的架包,但是我们在编程或者写代码的时候,却调用了C架包中2.0版本中的多出的方法或者类,那么这个时候就可能会出现找不到方法或者,没有发现类的情况。
更多推荐
已为社区贡献5条内容
所有评论(0)