餐饮公司网站模板,wordpress文件上传位置,做网站挂广告赚钱犯法吗,做网站必须需要服务器嘛这篇文章主要介绍了flatten-maven-plugin使用#xff0c;本文通过示例代码给大家介绍的非常详细#xff0c;对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
−
目录
一、简介 1.1 作用1.2 goal介绍二、使用总结 一、简介 1.1 作用
将pom工程父子pom的版…这篇文章主要介绍了flatten-maven-plugin使用本文通过示例代码给大家介绍的非常详细对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
−
目录
一、简介 1.1 作用1.2 goal介绍二、使用总结 一、简介 1.1 作用
将pom工程父子pom的版本提出作为变量定义在properties。
这样仅修改变量的值(如在运行mvn命令时指定) 即可实现版本整体切换。 1.2 goal介绍
flatten:clean
删除flatten插件生成的 .flattened-pom.xml
配置参数有 flattenedPomFilename: 插件生成的pom的名字默认为 .flattened-pom.xml outputDirectory插件生成pom的目录默认为 ${project.basedir} flatten:flatten
在resources-process生成 .flattened-pom.xml并在install/deploy时替换原始pom.xml
主要配置参数有 flattenedPomFilename: 插件生成的pom的名字默认为 .flattened-pom.xml outputDirectory插件生成pom的目录默认为 ${project.basedir} updatePomFile: packingpom的module也进行reversion变量替换默认为false flattenMode用来定义生成 .flattened-pom.xml所包含的元素常用值有 oss开源软件常用除了repositories/pluginRepositories外其他所有FlattenDescriptor定义的元素都生成 ossrh所有FlattenDescriptor定义的元素都生成 bom在ossrh基础上增加dependencyManagement和properties defaults除了repositories其他所有FlattenDescriptor定义的元素都不生成 clean所有FlattenDescriptor定义的元素都不生成 fatjar所有FlattenDescriptor定义的元素和dependencies都不生成 resolveCiFriendliesOnly只替换原始pom中的revision, sha1 and changelist其他否保持原样 常用oss/ossrh/resolveCiFriendliesOnly FlattenDescriptor定义的pom.xml元素有 modelVersion groupId artifactId version packaging licenses dependencies profiles name description url inceptionYear organization scm developers contributors mailingLists pluginRepositories issueManagement ciManagement distributionManagement prerequisites repositories parent build dependencyManagement properties modules reporting 二、使用总结
不用flatten-maven-plugin
1.父pom定义版本为变量reversion并作为version,子pom复引用变量reversion作为version
2.结果能正常运行compile/test, 但install或deploy时父子pom中的version还是reversion变量未被替换
3.没有version别人无法引用你的包
父pom.xml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd modelVersion4.0.0/modelVersion packagingpom/packaging version${reversion1}/version modules moduleno-flatten-child/module /modules groupIdcom.wsl.my.maven/groupId artifactIdno-flatten-plugin/artifactId properties maven.compiler.source8/maven.compiler.source maven.compiler.target8/maven.compiler.target reversion11.1.0-SNAPSHOT/reversion1 /properties /project
子pom.xml 1 2 3 4 5 6 7 8 9 10 11 12 13 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd parent artifactIdno-flatten-plugin/artifactId groupIdcom.wsl.my.maven/groupId version${reversion1}/version relativePath../pom.xml/relativePath /parent modelVersion4.0.0/modelVersion artifactIdno-flatten-child/artifactId /project
install/deploy后父子pom.xml中的${reversion1}没有被替换
使用了flatten-maven-plugin
1.父pom定义版本为变量reversion并作为version,子pom复引用变量reversion作为version
2.使用flatten-maven-plugin并设置updatePomFiletrue,并绑定goal到maven周期
3.在process-resources阶段时会在父子project目录下生成.flattened-pom.xml(version已替换为具体值)
4.运行install或deploy时会将.flattened-pom.xml替换原来的pom.xml
原始父pom 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd modelVersion4.0.0/modelVersion version${reversion2}/version packagingpom/packaging artifactIduse-flatten-parent/artifactId groupIdcom.wsl.my.maven/groupId modules moduleuse-flatten-child/module /modules properties maven.compiler.source8/maven.compiler.source maven.compiler.target8/maven.compiler.target reversion21.2.0-SNAPSHOT/reversion2 /properties build plugins plugin groupIdorg.codehaus.mojo/groupId artifactIdflatten-maven-plugin/artifactId version1.2.7/version configuration updatePomFiletrue/updatePomFile flattenModeresolveCiFriendliesOnly/flattenMode /configuration executions execution idflatten/id phaseprocess-resources/phase goals goalflatten/goal /goals /execution execution idflatten-clean/id phaseclean/phase goals goalclean/goal /goals /execution /executions /plugin /plugins /build /project