我不确定我是否真正了解Maven最强大的功能 - 依赖管理。
当我开发项目时,我需要在编写代码时添加所有依赖项。因此,在使用Maven构建项目时,我已经下载了所有依赖项。
那么依赖管理有什么意义呢?
答案 0 :(得分:0)
感谢Maven
,您无需下载依赖项并将其放入lib
Tomcat
上。它由maven自动完成。您可以直接在pom.xml
文件中查看所有依赖项以及其他设置。
依赖关系管理只是Maven
的主要特征之一。我想您应该问问自己,您在项目中执行的附加任务(外部库,部署,文档等)是什么,看看Maven是否可以通过其插件帮助您完成这些任务。
答案 1 :(得分:0)
让我们假设您已经下载了所有必需的罐子并保存在lib中。现在您要将代码移动到许多机器中。 所以现在你必须将所有文件传输到另一台机器。
如果您在发送时错过了一些罐子,或者让我们在将来说您想要更新版本的jar.So您是否想要将它发送到jar的所有机器并从lib中移除旧版本或< strong>编写一个可以自动完成所有操作的配置。
一旦项目变得更大,你就会感受到Maven的真正本质。它只是pom.xml 你需要注意所有的jar管理。
答案 2 :(得分:0)
Maven的依赖关系管理在您处理多个项目,跨多个开发机器和多个开发人员的环境中最有意义。
想象一下最简单的场景:
Project_1
\lib
\log4j.jar
Project_2
\lib
\log4j.jar
Project_3
\lib
\log4j.jar
在开发过程中,您需要将log4j.jar文件复制粘贴到所有这些项目,这将转换为本地和您可能使用的任何SCM上使用的额外磁盘空间,并需要进入每个项目并定义它作为库(将其添加到类路径)。如果要更改jar的版本,则需要重复该过程。 如果你使用Maven,你需要做的就是
定义在线存储库(示例Maven online repo)
为您的项目创建一个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">
<modelVersion>4.0.0</modelVersion>
<groupId>COM.MY.COMPANY</groupId>
<artifactId>NAME_OF_PROJECT</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
大多数IDE已经与Maven无缝集成,无需进一步麻烦。以上步骤只执行一次。
其他一些参考资料: