Maven命令更新子父项目的pom版本
Q:一个maven项目,有多个子module,在顶级父pom.xml里设置1.0.0-SHAPSHOT,在子pom.xml里都用了 父pom: 1234<groupId>com.fp</groupId><artifactId>test</artifactId><version>1.0.0.SNAPSHOT</version><packaging>pom</packaging> 各子pom: 123456<parent><artifactId>test</artifactId><groupId>com.fp</groupId><version>1.0.0-SHAPSHOT</version></parent><packaging>jar</packaging> 如果有10个子pom来这样定义父pom.一般修改了父Pom.手动去改子pom,那多累 A: 在父p...
Maven依赖中的scope详解
Maven的一个设计范式是约定优于配置(convention over configuration), Maven默认的依赖配置项中,scope的默认值是compile,项目中经常傻傻的分不清,直接默认了。今天梳理一下maven的scope。 scope的分类compile默认就是compile,什么都不配置也就是意味着compile。compile表示被依赖项目需要参与当前项目的编译,当然后续的测试,运行周期也参与其中,是一个比较强的依赖。 providedprovided意味着打包的时候可以不用包进去,别的设施(如JDK或者容器)会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。相当于compile,但是在打包阶段做了exclude的动作。 runntimerunntime表示被依赖项不是编译所必需的,而是执行所必需的。与compile相比,跳过编译而已,说实话在终端的项目(非开源,企业内部系统)中,和compile区别不是很大。比较常见的如JSR×××的实现,对应的API jar是compile的,具体实现是runtime的,compile只需要知道接口就足够了。o...




