`
lipaneyeti
  • 浏览: 6864 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Maven的Dependency测试

阅读更多
贴中得来终觉浅,绝知此事要测试。
没错,今天遇到了一个很2的问题,虽然没影响什么但还是简单测了一下,醍醐灌顶啊。

是这样,有三个项目,Base1,Base2,Base3.
其中1,2都是库用来被其他程序调用的,3是测试项目,专门用来调用别人的。

如果Base2(就一个版本)调用了Base1的1.0版本,Base3(就一个版本)调用了Base2。
此时Base3的pom中添加Base1的1.1版本的dependency会出现什么呢。

代码很简单
Base1


Base2


Base3


此时打印的是
this is 1.1
this is 1.1
this is 1.0 2

结论就是如果当前的版本与之前的有冲突会在当前项目和自己引用的项目都使用被引用项目的最高版本。
我本以为Base2会用Base1的1.0版本,而在Base3中引用Base1的2.0版本Base3打印1.1没问题Base2会不受影响的使用Base1的1.0,太天真了。。
但还是有疑点,Base2当时是install到本地repo中的已经打包好成jar了怎么还能替换掉其中的类呢,可能在打包Base3中如果打包类中有相同的包名会选择最高版本,这个没法测试啊,先按照这个结果记住吧。
  • 大小: 303.1 KB
  • 大小: 395.8 KB
  • 大小: 389.8 KB
0
1
分享到:
评论
1 楼 511039003 2014-04-07  
神经病呀?你写的这个测试类和依赖有毛关系。写一个base1版本为1.1,里面打印1.0,写一个base1版本为1.1里面打印1.1,然后通过依赖不同版本的base1版本号才能说明问题

相关推荐

    maven-dependency-plugin-2.8.zip

    本文将聚焦于"Maven依赖插件"(maven-dependency-plugin)的版本2.8及其在开源项目中的应用,特别是结合Cobertura插件进行代码覆盖率检查。 Maven依赖插件(maven-dependency-plugin)是Maven生态系统中的一个重要...

    maven测试HelloWorld

    在本文中,我们将深入探讨如何使用Maven进行Java项目的构建和测试,以"HelloWorld"为例。Maven是一个强大的项目管理工具,它可以帮助开发者管理依赖、构建项目、执行测试,并生成文档,使得整个开发流程更加规范化和...

    maven依赖+继承+聚合

    此外,Maven还支持依赖范围(scope),如编译(compile)、测试(test)、运行(runtime)等,以控制依赖在不同阶段的作用。 接下来是"Maven继承"。在大型项目中,多个模块可能共享相同的配置或依赖。Maven的继承...

    maven常用命令以及以个测试项目

    在“test”这个文件中,通常包含的是Maven项目的测试部分,比如JUnit测试或者Mockito等测试框架的代码。这些测试文件位于`src/test/java`目录下,遵循Maven的标准目录结构。编写好测试后,可以通过`mvn test`命令...

    dependencypath-maven-plugin-1.1.1.zip

    在项目中使用这些属性,可以通过Maven的表达式语法`${dependency.com.example.mylibrary.1.0.0}`获取到具体的路径。这样,我们就可以在测试或者构建脚本中灵活地引用这些依赖,提高代码的可维护性和可扩展性。 总的...

    Maven SpringMVC 测试DEMO

    【Maven SpringMVC 测试DEMO】 在Java Web开发中,Maven和SpringMVC是两个非常重要的组件。Maven是一个项目管理工具,它帮助开发者管理依赖、构建项目以及执行自动化任务。而SpringMVC是Spring框架的一部分,用于...

    MavenDependencyCheck:在基于Maven的项目上运行依赖检查的自动化脚本

    & Maven:安装说明可在找到包含要运行的用于克隆项目的git命令repo.conf示例命令git clone https://github.com/elderstudios/uni-dvwa-spring.git 用法python depcheck.py 让脚本发挥作用经过测试并在带有Python ...

    maven helper idea 插件

    这包括清理、编译、测试、打包等常见目标,同时也支持自定义目标。 7. **问题检测**:Maven Helper会扫描项目的POM.xml文件,查找潜在的问题,如未使用的依赖、错误的配置或缺失的依赖。这些问题通常会被开发者忽视...

    springboot的测试类的maven依赖

    在本主题中,我们将深入探讨“Springboot的测试类的Maven依赖”。首先,我们需要理解Maven作为Java项目的构建工具,如何管理和组织项目依赖。 在Maven的配置文件`pom.xml`中,我们可以声明所需的依赖,包括Spring ...

    maven的环境搭建、配置和测试

    ** Maven环境搭建、配置与测试 ** Maven是一款强大的项目管理工具,主要用于Java项目的构建、依赖管理和项目信息管理。它通过使用一个统一的构建过程,简化了项目的构建和维护,使得开发人员能够专注于代码编写,而...

    maven jar下载顺序测试的资源

    "maven jar下载顺序测试的资源"这个主题涉及到Maven如何处理JAR依赖的下载顺序,以及相关的测试方法。让我们深入探讨一下这个话题。 首先,Maven在构建项目时会自动下载所有必要的依赖项,包括JAR文件。这些依赖是...

    maven-ssm测试demo

    同时,熟悉Maven的命令行操作,如`mvn dependency:tree`查看依赖树,`mvn dependency:copy-dependencies`提取依赖库,对日常开发大有裨益。 总之,这个"Maven-SSM测试demo"提供了一个完整的项目实例,帮助开发者...

    Elasticsearch+Maven 测试Demo

    **Elasticsearch+Maven测试Demo详解** 在Java开发中,Elasticsearch作为一个强大的全文搜索引擎,常被用于处理大量数据的检索与分析。Maven作为项目管理工具,可以帮助我们管理和构建项目,使得依赖管理和构建流程...

    maven组件依赖测试

    本测试主要关注"Maven组件依赖"这一核心概念,这在Java开发中至关重要,尤其是在大型项目或企业级应用中。Maven通过一个声明式的pom.xml文件来管理项目的依赖关系,使得开发者能够轻松地引用并解决第三方库。 Maven...

    rh-maven33-maven-dependency-analyzer-1.3-9.13.el7.noarch.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    apache-maven-3.9.6-bin

    例如,maven-compiler-plugin用于编译Java源码,maven-surefire-plugin用于执行单元测试,maven-jar-plugin则负责创建JAR文件。 在实际开发中,Maven的`settings.xml`文件通常放在用户的主目录下的`.m2`目录下,它...

    Windoiws的maven3.8.8

    - **test**: 运行项目的所有测试。 - **package**: 编译并打包项目,生成JAR或WAR文件。 - **verify**: 执行所有的检查,确保项目质量。 - **deploy**: 将最终的包部署到远程仓库。 ### 六、Maven依赖管理 Maven...

    maven API maven API

    4. **依赖管理 (Dependency Management)**: Maven API自动处理项目的依赖关系,确保所有依赖项都按照正确的版本和路径引入。通过声明依赖,Maven会自动下载并解决版本冲突。 5. **仓库管理 (Repository Management)...

    maven3.0 maven3.0

    **Maven 3.0 知识点详解** Apache Maven 是一个项目管理和综合工具,尤其在Java开发领域中被广泛使用。Maven 3.0是Maven的一个重要版本,...通过熟练掌握Maven,开发者可以高效地构建、测试和部署项目,提高开发效率。

Global site tag (gtag.js) - Google Analytics