Maven依赖管理的好处

时间:2017-02-24 10:06:56

标签: java maven continuous-integration

我不确定我是否真正了解Maven最强大的功能 - 依赖管理。

当我开发项目时,我需要在编写代码时添加所有依赖项。因此,在使用Maven构建项目时,我已经下载了所有依赖项。

那么依赖管理有什么意义呢?

3 个答案:

答案 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,你需要做的就是

  1. 定义在线存储库(示例Maven online repo

  2. 为您的项目创建一个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>
    

  3. 大多数IDE已经与Maven无缝集成,无需进一步麻烦。以上步骤只执行一次。

    其他一些参考资料:

    1. Why maven? What are the benefits?
    2. Why should we use Maven?
    3. Maven Dependency Plugin Example