关于maven传递性依赖和dependencyManagement

对于maven, 很多人看似很熟悉,其实貌似根本不了解,本文旨在解决某些方面的疑惑。

       当我在service模块引入公司某业务的一个接口,由于该接口依赖了公司写的各种东西和spring等第三方依赖,所以我一下子啥都不用显示依赖了,这叫传递性。而dependencyManagement的作用在于仍然让子模块显示写依赖,但依赖的版本和设置不用写了,简化了。关于jar包的传递依赖,你可以在idea的maven窗口中选定子模块右键show dependencies。

       在idea环境中,有时你不得不执行reimport和clean,才能看到jar包引入。另外,请注意你写的version是仓库中确实存在的。

       如果公司没有maven私服,完全依赖apache maven库,也许是够用的,碰到其他公司的接口需要你引入他们的jar包时,可以把jar包放在jvm/ext/lib下。

       值得一提的是,在模块组织方面,你完全可以把紧密相关的几个系统的放在一起,各个系统的web模块公用一套common, do及dao模块,而不必为每个系统打开一个idea窗口。

时间: 2024-10-04 15:54:20

关于maven传递性依赖和dependencyManagement的相关文章

maven传递性依赖与NoSuchMethodError

    对于maven, 很多人看似很熟悉,其实貌似根本不了解,本文旨在解决某些方面的疑惑.        当我在service模块引入公司某业务的一个接口,由于该接口依赖了公司写的各种东西和spring等第三方依赖,所以我一下子啥都不用显示依赖了,这叫传递性.而dependencyManagement的作用在于仍然让子模块显示写依赖,但依赖的版本和设置不用写了,简化了.关于jar包的传递依赖,你可以在idea的maven窗口中选定子模块右键show dependencies.        在

maven问题

springboot 项目开发中, maven配置中,dependencyManagement怎么使用, 在多个子模块中,可以使用dependencyManagement中的jar吗? 待解决!!! 参考:http://blog.csdn.net/mafan121/article/details/50477852

需要安全认证的远程EJB调用示例(Jboss EAP 6.2环境)

一,Remote EJB 服务接口定义: 1 package yjmyzz.ejb.server.helloworld; 2 3 public interface HelloWorldService { 4 5 public String sayHello(String name); 6 7 } 实现: 1 package yjmyzz.ejb.server.helloworld; 2 3 import javax.annotation.security.RolesAllowed; 4 impo

Maven实战(六)--- dependencies与dependencyManagement的区别

       在上一个项目中遇到一些jar包冲突的问题,之后还有很多人分不清楚dependencies与dependencyManagement的区别,本篇文章将这些区别总结下来.   1.DepencyManagement应用场景          当我们的项目模块很多的时候,我们使用Maven管理项目非常方便,帮助我们管理构建.文档.报告.依赖.scms.发布.分发的方法.可以方便的编译代码.进行依赖管理.管理二进制库等等.          由于我们的模块很多,所以我们又抽象了一层,抽出一

maven之dependencyManagement

使用背景: 当某个项目包含多个模块,每个模块都需要引用相同的包(例如:quartz),为了保证各个子模块之间因为包的问题出现版本冲突,maven引入了dependcy management. 使用说明: 通过一个简单的工程例子来说明:例如某一个工程的目录结构如下(通过引用quartz依赖为例): demo --module1 ----src ----pom.xml --module2 ----src ----pom.xml --pom.xml 1. 在demo的pom.xml下配置对应的信息:其

Maven依赖的配置

Maven的依赖配置有基本的groupId,artifactId和version等元素组成,其实一个依赖声明可以包含如下的  一些元素      <project>          ...          <dependencies>              <dependency>                  <groupId>...</groupId>                  <artifactId>...&

用 Maven 做项目构建

转自:http://www.ibm.com/developerworks/cn/java/j-lo-maven/index.html   本文将介绍基于 Apache Maven 3 的项目构建的基本概念和方法.Maven 是一套标准的项目构建和管理工具,使用统一规范的脚本进行项目构建,简单易用,摒弃了 Ant 中繁琐的构建元素,并具有较高的可重用性.读完本文,你将了解 Maven 的基本概念和使用它进行项目构建的基本方法. 回页首 什么是 Maven Maven 是 Apache 组织下的一个

转 maven常见问题问答

1. 前言     Maven,发音是[`meivin],"专家"的意思.它是一个很好的项目管理工具,很早就进入了我的必备工具行列,但是这次为了把project1项目完全迁移并应用maven,所以对maven进行了一些深入的学习.写这个学习笔记的目的,一个是为了自己备忘,二则希望能够为其他人学习使用maven 缩短一些时间. 2. maven概要     首先我把maven的概念快速的梳理一下,让我们快速地建立起一个比较精确的maven应用场景. 2.1 maven不是什么     读

maven配置详解

什么是pom?    pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述了项目:包括配置文件:开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以及其他所有的项目相关因素. pom.xml 配置文件 [html] view plaincopyprint? <project>       <parent>           ...       </parent>              <