什么是 pom.xml(项目对象模型)? 示例 pom.xml 供您在动态 Web 项目 (Java / J2EE) 中使用

已发表: 2021-06-25
什么是 pom.xml(项目对象模型)?示例 pom.xml 供您在动态 Web 项目中使用

什么是 pom.xml 文件?

POM 表示Project Object Model 。 它是 Maven 中的一个基本工作单元。 pom.xml 文件包含所有配置、依赖项、插件集成和项目设置说明。

这是将任何库依赖项添加到项目中的最佳方式。 将 .jar 文件复制到项目资源文件夹中是一种旧方法

让我们详细了解 pom.xml 文件。

最简单的默认 pom.xml 文件

让我们回顾一下 pom.xml 元素:

元素描述
项目元素是描述符的根。 下表列出了所有可能的子元素。
型号版本声明此 POM 符合哪个版本的项目描述符。 将其设置为 4.0.0 版本。
组 ID 项目的通用唯一标识符。 通常使用完全限定的包名称来将其与具有相似名称的其他项目区分开来(例如 org.apache.maven)。
工件 ID 此工件的标识符在由组 ID 给出的组内是唯一的。 工件是项目生产或使用的东西。 Maven 为项目生成的工件示例包括:JAR、源代码和二进制分发以及 WAR。
版本此项目生成的工件的当前版本。
了解 pom.xml 元素

带有附加元素的 pom.xml 文件

包含更多元素的 pom.xml 文件:

元素描述
包装该项目产生的工件类型,例如 jar war ear pom。 插件可以创建自己的包装,因此也可以创建自己的包装类型,因此此列表不包含所有可能的类型。
姓名项目的全名。
网址项目主页的 URL。
依赖关系此元素描述与项目关联的所有依赖项。 这些依赖项用于在构建过程中为您的项目构建类路径。 它们会自动从该项目中定义的存储库中下载。
依赖产生依赖的项目组,例如 org.apache.maven。
建造构建项目所需的信息。
源目录此元素指定包含项目源的目录。 生成的构建系统会在项目构建时编译该目录下的源码。 给出的路径是相对于项目描述符的。
最终名称将调用生成的工件的文件名(不包括扩展名,并且没有路径信息)。 默认值为 ${artifactId}-${version}。
插件要使用的插件列表。
插入存储库中插件的组 ID。
范围依赖的范围——编译、运行时、测试、系统和提供。 用于计算用于编译、测试等的各种类路径。 它还有助于确定在该项目的分发中包含哪些工件。

我们在 Crunchify 上发布了 700 多个 Java 教程,并且从一开始就使用 pom.xml 文件,包括 Spring MVC 依赖项。

过去几年因为添加了越来越多的库依赖,Crunchify 的 Java 教程 pom.xml 文件现在更大了

这是我们当前的 pom.xml 文件供您参考。 如果您将其复制并添加到您的项目中,那么这也适用于您。

我们用于 Crunchify 的 Java 教程的 pom.xml 文件

我希望这能阐明什么是 pom.xml 文件以及我们在任何 Java 的 J2EE 项目中使用它的原因。

如果您还有其他问题,请告诉我。

将 Log4j 更新到最新版本

CVE-2021-44228:Apache Log4j2 <=2.14.1 配置、日志消息和参数中使用的 JNDI 功能不能防止攻击者控制的 LDAP 和其他 JNDI 相关端点。

从 log4j 2.16.0 开始,默认情况下已禁用此行为。