KL个人博客 首页>>maven

maven deploy 集成 gitlab ci 自动发版

maven deploy 集成 gitlab ci 自动发版

背景 多模块的 maven 项目,抽象了通用的代码逻辑作为单独的 maven 模块,这样,不仅自己项目可以用,也可以提供依赖给其他项目用,那么这个时候需要将这个模块上传到 maven 私服,发布 maven 私服时,release 版本不支持覆盖,所以需要集成 ci 工具,给 maven 模块自动加上版本号,并自动完成 deploy 操作。本文方案依赖 maven 打包插件 flatten-maven-plugin,maven 版本要求大于等于3.5.0 maven 配置 ...

阅读全文 »

记web.xml中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会更加上手。 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项目构建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要注意了

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? Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者...

阅读全文 »