背景 多模块的 maven 项目,抽象了通用的代码逻辑作为单独的 maven 模块,这样,不仅自己项目可以用,也可以提供依赖给其他项目用,那么这个时候需要将这个模块上传到 maven 私服,发布 maven 私服时,release 版本不支持覆盖,所以需要集成 ci 工具,给 maven 模块自动加上版本号,并自动完成 deploy 操作。本文方案依赖 maven 打包插件 flatten-maven-plugin,maven 版本要求大于等于3.5.0 maven 配置 ...
记web.xml中Maven占位符不生效问题
问题背景 开发反馈,一个spring mvc的web项目,在web.xml配置的占位符不生效,编译后还是没有替换成配置的属性,如下: context-param param-namelogbackConfigLocation/param-name param-valueclasspath:${ loagback.xml.path:logback.xml }/param-value /context-param 问题分析 先了解下,为什么在Maven中可以通过${xx}这种占位符的方式在编译期可以获取到Maven中的Properties属性信息呢?因为Maven提供了一个插件在起作用 maven-resource...
关于Maven的使用,这些你都了解了么?
Maven使用说明及规范 此文档主要说明Maven的基础使用方式,以及在使用过程过程中需要遵守哪些默认的准则。我们工作中会经常写maven的配置,但是很多maven使用细节你可能并不知道,但你掌握后使用maven会更加上手。 Maven是什么? Apache Maven是一个软件项目管理工具。基于项目对象模型(POM)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告和文档。 Maven的核心是一个插件...
maven-enforcer-plugin:插件构建异常记录
前言 maven-enforcer-plugin是一个规范约束maven构建环境的插件,例如Maven版本,JDK版本和OS系列以及更多内置规则和用户创建的规则,旨在统一项目的开发环境。楼主在构建开源项目spring data jpa时,因为maven版本的问题卡在了enforcer这个插件上。网上关于解决此插件报错的方案都无关痛痒,没有深入到错误的实质,故解决问题后,在此做个记录 插件地址:http://maven.apache.org/enforcer/maven-enforcer-p...
maven项目构建jar到私服
前言碎语 使用maven构建项目时,有时候一些公用的组件自己写完后,需要及时发布到私服供团队里的成员使用。一般使用mvn install构建到本地仓库,而这个时候需要使用mvn deploy构建到远程仓库 具体操作 在项目根pom.xml文件中加入如下配置 !--发布到私服的地址-- distributionManagement !--发行仓库地址-- repository idrepo/id urlhttp://192.168.1.204:8081/nexus/content/repositories/releases//url /repository !--快照仓库...
spring boot项目使用maven profile要注意了
问题 出处 今天,一个简单的demo项目为了方便,使用了spring boot搭建,功能性上考虑不仅要使用spring boot自身的profile功能,还有结合maven的profile功能来编译时即指定环境变量?问题就出在这里了,maven的profile等都配置好了,配置文件中使用${xxx}就是引用不到profile里配置的变量! 问题定位 最后找了很久,在 spring-boot-starter-parent.pom里找到了答案,spring boot starter parent里build里resource配置如...
可用maven仓库收集,持续更新
什么是maven? Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者...