`

Maven实战-多项目间的依赖

 
阅读更多

      根据Maven的相关资料,我们可以很清楚的了解到,仓库只分为两类:本地仓库和远程仓库。当maven根据坐标寻找构件的时候,它首先会查看本地仓库,如果本地仓库存在此构件,则直接使用;如果本地仓库不存在此构件,或者需要查看是否有更新的构件版本,maven就会去远程仓库查找,发现需要的构件之后,下载到本地仓库再使用。如果本地仓库和远程仓库都没有需要的构件,maven就会报错。

     根据以上原则,如果两个项目间有依赖关系,例如项目A依赖于项目B,可以先利用Maven的install命令将项目B打包安装到本地仓库,此时A对于B的依赖已经存在于本地仓库,直接在项目A中增加对B的module层的依赖配置,然后利用Mven将项目A打包,此时可以成功将B的dependency依赖打包到A中。


      但是在这个过程中遇到过一个问题,我和另外一个同事都利用以上方法对A进行install,他的成功了,但是我却一直报错,最后一比较发现,是Maven版本不同(maven3不行而maven2却可以),原因在于B中设置类一个全局变量配置,打包之后,无法进行替换,导致依赖无法被引入。于是修改了变量配置,将版本号进行了硬编码,再次尝试,maven3打包成功。

分享到:
评论

相关推荐

    Maven实战- 入门

    总结来说,《Maven实战》是一本全面的Maven学习资料,它不仅详尽地覆盖了Maven的基础知识,还深入地介绍了Maven的核心概念和高级应用,是一本适合从初级到高级不同层次Java开发者的Maven学习手册。

    maven笔记:maven-overlay-实战笔记

    在描述中提到的博客链接,虽然无法直接访问,但根据常见的 Maven overlay 实战场景,我们可以推断博主可能分享了如何设置和使用 Maven overlay 来合并多个 Web 项目的资源,如 JSP 页面、CSS、JavaScript 文件等,以...

    Maven使用实战-从入门到精通实践【张振华.Jack】

    Maven使用实战-从入门到精通实践【张振华.Jack】 Maven简介、Maven主要做什么用? 项目对象模型(POM) 坐标(Coordinates)、打包方式(Packaging)、项目描述 项目子父级关系(parent) 依赖管理(dependency),冲突了...

    Maven 实战(中文pdf)

    《Maven实战》不仅覆盖了Maven的基础知识,还深入到高级特性和最佳实践,如使用 profiles 进行条件构建,或者处理复杂的多模块项目。对于初学者,书中提供的实例和实战经验可以帮助快速上手;对于经验丰富的开发者,...

    《Maven实战》源代码

    通过学习《Maven实战》中的源代码,读者可以深入理解Maven的构建流程,掌握如何有效地管理项目依赖,以及如何设置和配置Maven来适应不同的开发场景。同时,这些源码实例有助于开发者在实际工作中解决可能出现的问题...

    Maven 实战.pdf-完整版

    Maven不仅可以管理项目的构建、报告、文档生成,还可以管理依赖、源码、文档、测试、打包、分发等,并提供了对应的插件机制,以支持更广泛的构建任务。 Maven的实战性强,意味着在学习和使用过程中,通常会结合大量...

    maven 实战 所有源代码

    ** Maven实战:所有源代码详解 ** Maven是一款强大的项目管理和构建工具,广泛应用于Java开发领域。...通过学习并掌握"Maven实战"中的源代码,开发者可以更好地应对复杂的项目构建挑战,实现高效且可维护的Java项目。

    Maven3实战笔记04Maven的生命周期和插件

    - **install**:将包安装到本地仓库,以使其他项目可以依赖于它。 - **deploy**:将最终版本的包复制到远程仓库供其他开发人员和项目使用。 #### Maven插件 Maven插件是用来执行具体任务的工具,每个插件可以包含...

    Maven实战 Maven实战Maven实战

    《Maven实战》一书设计了一个背景案例,后续章节围绕该案例展开,通过具体的项目构建实例,加深读者对Maven的理解和掌握。例如,如何使用Maven进行Web应用的构建、如何利用Hudson进行持续集成等。 #### 总结 Maven...

    Maven 实战源码

    大型项目通常被划分为多个模块,Maven支持模块间的依赖和聚合,使得大型项目的构建和管理更加便捷。 9. Maven Profiles: Maven配置文件可以按环境(开发、测试、生产)划分,方便在不同环境中应用不同的配置。 ...

    Maven实战(包括安装、配置及使用)

    ### Maven实战知识点详解 #### 一、Maven概述与价值 **Maven**是一种自动化的构建工具,主要用于Java项目的构建和依赖管理。它通过一种项目对象模型(Project Object Model,简称POM)来管理项目的构建过程,使得...

    Maven模块项目。整合spring+springmvc+mybatis

    在本项目中,"创建Maven模块项目.docx"文档很可能是指导如何初始化Maven多模块项目,包括定义父POM和子模块POM,以及配置各个模块的依赖。而"打包web项目.docx"则可能详细介绍了如何使用Maven的war插件进行项目打包...

    Maven实战.rar

    **Maven实战** Maven,一个强大的Java项目管理和综合工具,是开发人员不可或缺的利器。它简化了构建过程,管理依赖关系,并通过标准化的生命周期帮助团队高效协作。本资源“Maven实战.rar”旨在深入探讨Maven在实际...

    Maven实战.pdf

    ### Maven实战知识点总结 #### 一、Maven概述与价值 **Maven** 是一个流行的 Java 项目管理和构建工具,它的出现极大地简化了项目的构建流程,使得开发人员能够更加专注于核心代码的编写而不是构建系统的搭建。 -...

    《Maven实战》

    通过学习《Maven实战》,你可以掌握Maven的全方位使用技巧,提升Java项目开发的效率,使项目管理更加规范和便捷。无论你是初学者还是经验丰富的开发者,这本书都将为你提供宝贵的指导。在实际工作中,结合书中的实例...

    day02Maven-教案-实战(IDEA).pdf

    当项目中出现多个版本的同一个依赖时,就会产生依赖冲突。Maven通过以下原则解决冲突: 1. **第一声明者优先原则**:在POM文件中先声明的依赖具有优先权。 2. **路径近者优先原则**:如果两个依赖的声明顺序相同,则...

Global site tag (gtag.js) - Google Analytics