ToB企服应用市场:ToB评测及商务社交产业平台

标题: Maven的顶级功能——依赖管理 [打印本页]

作者: 梦应逍遥    时间: 2024-11-7 14:44
标题: Maven的顶级功能——依赖管理
依赖管理

依赖管理解决的问题

我们学完一个语言的语法之后,我们应该都能知道函数的引用或者类的创建等了。为了方便管理,我们就会把一些特定的功能实现写在一个代码文件中,我们只需要利用的时候导入就行了,这样无论是修改还是阅读都更加的方便简便,但这样会出来一个问题,一旦我们多个文件你引用我,我引用你,就会出现蜈蚣一样平常的嵌套(好比A引用B,B引用C),这样我们迁移或者打包的整个项目标时候就会很复杂,整个引用宛如迷宫一样平常,人工来管理就会很麻烦。这个时候Maven就能解决这个问题

Maven的作用

当我们声明白A的依赖的时候,Maven会自己判断这个模块和其他被引用的模块是否另有其他的依赖,假如有,就会主动导入其他的依赖,不用我们去判断是否有其他的依赖了。那我们怎么声明呢,就是在pom.xml​这文件里面

pom.xml

​pom.xml​这个文件很有用,是项目标maven的配置文件,我们来仔细看看这个文件
  1. <project ...>
  2.         <modelVersion>4.0.0</modelVersion>
  3.         <groupId>com.itranswarp.learnjava</groupId>
  4.         <artifactId>hello</artifactId>
  5.         <version>1.0</version>
  6.         <packaging>jar</packaging>
  7.         <properties>
  8.         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  9.                 <maven.compiler.release>17</maven.compiler.release>
  10.         </properties>
  11.         <dependencies>
  12.         <dependency>
  13.             <groupId>org.slf4j</groupId>
  14.             <artifactId>slf4j-simple</artifactId>
  15.             <version>2.0.16</version>
  16.         </dependency>
  17.         </dependencies>
  18. </project>
复制代码
我们来梳理一下整文件的结构:
我们可以分为几个大块



  1. <project ...>
  2.         所有项目的配置信息。
  3. </project>
复制代码

整个项目自己的信息
  1. <modelVersion>4.0.0</modelVersion>
  2. <groupId>com.itranswarp.learnjava</groupId>
  3. <artifactId>hello</artifactId>
  4. <version>1.0</version>
  5. <packaging>jar</packaging>
复制代码
这些都是你管理项目标信息
一个Maven工程就是由groupId​,artifactId​和version​作为唯一标识。
​​
​​
​​
​​
​​


这个标签里面是统一管理版本号、编码等配置。
  1.         <properties>
  2.         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  3.                 <maven.compiler.release>17</maven.compiler.release>
  4.         </properties>
复制代码
值得注意的是

从Java 9开始,推荐利用maven.compiler.release​属性,保证编译时输入的源码和编译输出书本一致。假如源码和输出书本不同,则应该分别设置maven.compiler.source​和maven.compiler.target​。
通过​定义的属性,就可以固定JDK版本,防止同一个项目标不同的开发者各自利用不同版本的JDK。




这里面就是整个项目所需的依赖
我们在引用其他第三方库的时候,只需要通过这3个变量确定。例如,依赖org.slfj4:slf4j-simple:2.0.16​:这个依赖是我们可以直接在线下载下来直接调用的,分析下来就是
​groupId​为 org.slfj4​
​artifactId​ 为slf4j-simple​
​version​ 为 2.0.16​
一样平常我们在表现Maven依赖时,利用简写形式groupId:artifactId:version​
这个时候归去看pom.xml​我们就发现整个结构已经非常清晰了,就是各种配置的结合体



xml

既然提到了,那我们就顺便先容一遍xml这个格式吧,通过上面的例子我们能看出xml是非常像html的语法的,但是xml有着很高的自由度,由于xml的本意就是靠着这样的层级信息去表达主题各式各样的信息
这样的表现优点就是非常的结构化,结构化对于整个计算机的信息表现无疑是非常契合和高效的
xml的表现既非常地公式化,利用​来将这个盒子命名就行,里面随便输入信息就行,由于xml的功能就像文章一样,只是用来看的。也非常的灵活,每个​都可以举行嵌套

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4