`
dannyhz
  • 浏览: 397512 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

maven 关于 scope test 和 继承传递的问题

阅读更多
Project A 被 Project B 调用 比如 A 里有 mockito的jar包, B要引用A , 从而不需要在B里直接引用mockito的jar包,而且A 包里的自建代码也可以用起来。

关键点在于 A 的pom里不能 用 test scope来藏起来A里面的jar ,这样B就无法继承到了, 所以 scope test 是只给自己这个工程使用的意思。





A  Project 里面 需要这样的写法:

  <modelVersion>4.0.0</modelVersion>
  <groupId>com.xiangsoft.mocktest</groupId>
  <artifactId>xiangmock</artifactId>
  <version>1.0.1</version>
  <name>xiangmock_v1</name>
  <description>xiangmock_v1</description>

<dependencies>
 
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
<dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-module-junit4</artifactId>
      <version>1.4.10</version>
   </dependency>
   <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-api-mockito</artifactId>
      <version>1.4.10</version>
   </dependency>

</dependencies>






B Project 里可以这个调用, 从而不会把  一些test的打包到正式发布的war里

<dependency>
<groupId>com.xiangsoft.mocktest</groupId>
<artifactId>xiangmock</artifactId>
<version>1.0.1</version>
<scope>test</scope>
</dependency>
分享到:
评论

相关推荐

    maven依赖关系中的&lt;scope&gt;provided&lt;/scope&gt;使用详解

    使用`&lt;scope&gt;provided&lt;/scope&gt;`表明Maven在编译和测试期间会使用这些依赖,但在打包或部署时不包括它们,因为预期目标环境(如JDK或应用服务器)已经提供了这些库。 例如,在开发Web应用程序时,通常需要`javax....

    maven3.0 maven3.0

    2. **更好的依赖管理**:Maven 3.0 对依赖解析进行了优化,解决了依赖冲突的问题,增强了传递性依赖的处理。它引入了新的依赖范围和更精确的依赖解析算法,减少了由于依赖问题导致的构建失败。 3. **增强的插件管理...

    Maven3.0权威指南

    - **传递依赖和范围(Transitive Dependencies and Scope)**:当项目依赖另一个项目时,后者的所有依赖也会被传递过来。 - **冲突解决(Conflict Resolution)**:当存在版本冲突时,Maven会按照一定的规则来决定使用...

    apache-maven-3.5.0-bin.zip

    同时,Maven提供了一种依赖范围(scope)的概念,如`compile`、`runtime`、`test`等,来控制依赖在不同环境下的可见性。 7. Maven的构建命令: Maven提供了简单的命令行接口,如`mvn clean`清除构建输出,`mvn ...

    Maven: the complete reference

    Maven还支持依赖版本范围、可选依赖和传递依赖,以及依赖冲突解决机制,确保项目构建过程中依赖的正确性和一致性。 #### 构建生命周期 Maven的构建过程由一系列阶段组成,这些阶段按照一定的顺序执行,构成了所谓...

    Maven pom.xml与settings.xml详解

    在Maven的世界里,`pom.xml`和`settings.xml`是两个至关重要的配置文件,它们共同决定了Maven项目的构建过程和环境配置。`pom.xml`(Project Object Model)文件是每个Maven项目的核心,它包含了项目的基本信息、...

    Maven权威指南 很精典的学习教程,比ANT更好用

    Maven权威指南是一本关于Apache Maven的书。 Copyright 1. Creative Commons BY-ND-NC Foreword: Beta 0.16 Preface 1. How to Use this Book 2. Your Feedback 3. Font Conventions 4. Maven Writing ...

    Maven使用总结1

    Maven的依赖管理包括依赖范围(scope),如`compile`、`test`等。`compile`范围的依赖会在项目的所有阶段可用,而`test`范围的依赖只在测试阶段使用。如果一个项目有多个子项目,可以使用`dependencyManagement`和`...

    maven cook book

    - **依赖管理**:讲解如何在项目中添加外部依赖,并且解释依赖的范围(scope)和传递性。 ##### 2. 构建过程 - **生命周期**:介绍Maven的生命周期概念,包括clean、default、site三个阶段,以及各个阶段中的目标...

    maven自学资料

    - Maven的中文网站提供了丰富的文档和资源,方便中国开发者学习和使用Maven。 - 中文网站通常会包含详细的安装指南、使用教程、常见问题解答等内容。 - 对于初学者来说,中文网站是一个很好的起点,可以帮助快速上手...

    掌握Java生态:Maven与Gradle的项目管理之道

    &lt;scope&gt;test&lt;/scope&gt; ``` #### Gradle:灵活的构建工具 Gradle 是另一个流行的 Java 构建工具,它基于 Groovy 语言,提供了一个灵活的 DSL (领域特定语言) 来定义构建逻辑。Gradle 的特点是速度快、易于使用...

    SpringBoot MockMvc单元测试的示例代码

    &lt;scope&gt;test&lt;/scope&gt; ... ``` 四、总结 通过本篇文章,我们可以了解到 SpringBoot MockMvc 单元测试的示例代码,了解如何使用 MockMvc 来实现对 Controller 的测试,提高测试的效率和简洁性。同时,我们也...

Global site tag (gtag.js) - Google Analytics