【针对初学者】关于pom.xml的基础知识

由于我在学习Java的过程中经常使用的pom.xml我实际上不知道它到底是什么,所以我进行了自己的调查并发表了输出。
如果对正在学习Java的人有帮助的话我会很高兴。
(如果有任何错误,请指正。?)

以下是中文的概要:

①pom.xml是什么

以下为②pom.xml的功能的汉语表达:

② pom.xml文件的功能

pom.xml 是什么?

用于设置由Maven构建的项目的内容的文件!

Maven是什么?

Maven 根据项目对象模型 (POM) 的理念,将与项目有关的各种信息汇总到 POM 中,作为项目管理工具来管理整个项目。作为主要功能,Maven 可根据 POM 的信息来管理整个项目。

支持项目的创建、编译、测试、打包和部署等各项任务。
项目网站生成器(自动创建静态项目网站的HTML)
管理依赖库和自动安装库的问题★

有一个。

「ビルド」とは什么意思?

对源代码进行分析,检查是否存在问题(错误),如果没有问题,则将其转换为可以执行的文件,并进行组装。

– 分析

主要的分析方法有四种。

静态解析:检测语法和语义错误。
②预处理器:将常量替换为数值、删除注释、展开宏。也有一些语言不进行预处理。
编译器:将人类编写的源代码转换为机器可以读懂的易于理解的语言。
各个对象文件和库文件被链接起来,通过链接所有组件,最终完成了“可执行文件”。

pom.xml文件的功能

我不完全了解pom.xml的所有内容,所以不清楚还有哪些功能,但我认为最方便的是,

自动安装依赖库。

没错! cuò!)

实际内容

<?xml version="1.0" encoding="UTF-8"?>
<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>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.6.3</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<groupId>com.example</groupId>
	<artifactId>SpringBootSample</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>SpringBootSample</name>
	<description>Demo project for Spring Boot</description>
	<properties>
		<java.version>11</java.version>
	</properties>

          <!-- ★ -->
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jdbc</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-thymeleaf</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
			<scope>runtime</scope>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>com.h2database</groupId>
			<artifactId>h2</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		
		<!-- validator -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-validation</artifactId>
		</dependency>
		
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<excludes>
						<exclude>
							<groupId>org.projectlombok</groupId>
							<artifactId>lombok</artifactId>
						</exclude>
					</excludes>
				</configuration>
			</plugin>
		</plugins>
	</build>

</project>

追加する方法很简单,只需要在★下方就可以。

<dependencies></dependencies>

只需以所选择的库的确定形式进行记录并执行->只需进行Maven安装!(否则可能不会生效)

在我使用Spring Boot框架时,我需要将jQuery和Bootstrap库添加为依赖项。当我按照下面的方式编写并执行后,Maven会自动安装并使它们可用。✨

      <!-- jQuery -->
		<dependency>
			<groupId>org.webjars</groupId>
			<artifactId>jquery</artifactId>
			<version>3.5.1</version>
		</dependency>
		
		<!-- Bootstrap -->
		<dependency>
			<groupId>org.webjars</groupId>
			<artifactId>bootstrap</artifactId>
			<version>4.5.3</version>
		</dependency>

pom.xml标签和编写方式似乎都有明确的意义。
顺便提一下,刚才的dependencies标签里有

写一个关于这个程序依赖于哪个程序的描述标签。

因此, 在依存性标签内,

具体描述所依赖的库信息

听说有这个规定。
每个标签的含义都在参考文献网站上有说明,所以查询一下会比开始时更明白pom.xml的细节!

得到的結論是什麼?
(What is the conclusion obtained?)

当我调查之后发现了一个非常方便的东西✨
虽然现在我还不太清楚,但我会逐渐去理解它。

文献引用

■ Maven基础(项目生成与pom.xml的解读)
在这篇文章中,我分享了关于Maven基础的内容,包括如何生成项目以及如何解读pom.xml文件。

■ Maven的首次使用是什么?
http://objectclub.jp/technicaldoc/tools/maven/maven01#id15

1. Maven 是什么?
https://www.techscore.com/tech/Java/ApacheJakarta/Maven/1/

■Maven 2章 Maven 入门
https://www.techscore.com/tech/Java/ApacheJakarta/Maven/2-2/

■Maven的第二章 熟悉Maven
https://www.techscore.com/tech/Java/ApacheJakarta/Maven/2-2/

■ “什么是’构建’功能?它的原理和与编译的区别解释”

■【Maven】关于pom.xml基础的说明(解释标签的含义)

【Maven】pom.xmlの基本について

广告
将在 10 秒后关闭
bannerAds