有点卡在这里.我有一个有3个配置文件的pom.Theese个人资料有不同的版本名称.我想在构建特定的配置文件时将该版本名称注入属性文件中.
我的档案:
dev true DEV test true 1.0.0-RC1 prod true 1.0.0-Final
和filter.properties看起来像这样:
projectName = defaultName versionName = defaultVersion
怎么做?我按命令建立项目:
mvn clean install -D profile_name
Jorge Campos.. 7
您需要做的是
在POM文件的部分添加一个新部分.
像这样:
true **/*.properties src/main/resources
这将查看指定文件src/main/resources
上的指定文件夹(),**/*.properties
并在遇到已定义的变量时更改文件.
所以为了这项工作,你的属性文件必须是这样的:
projectName = ${defaultName} versionName = ${defaultVersion}
请注意这些变量的名称.Maven将使用您定义的名称替换它,或者像$ {projectVersion}的Maven结构的名称将替换
为您的pom文件的标记.
所以不要使用:
1.0.0-Final
将此变量的名称(和版本)更改为其他内容:
1.0.0-Final someName
在您的所有配置文件
并运行您的maven命令:
mvn install -Pprofilename
很高兴它有效:)考虑接受它!如果是你的选择之一. (2认同)
malaguna.. 5
请注意您显示的配置文件.默认情况下它们都是活动的,这是一个问题,因为它们都定义了相同的maven属性.相反,您应该默认只将一个标记为活动.
您也不会显示
要处理的过滤filter.properties
,因此这也是一个错误.
最后,你可以在maven配置文件中控制工件版本.我不认为这是个好主意.请阅读maven-release-plugin.
您需要做的是
在POM文件的部分添加一个新部分.
像这样:
true **/*.properties src/main/resources
这将查看指定文件src/main/resources
上的指定文件夹(),**/*.properties
并在遇到已定义的变量时更改文件.
所以为了这项工作,你的属性文件必须是这样的:
projectName = ${defaultName} versionName = ${defaultVersion}
请注意这些变量的名称.Maven将使用您定义的名称替换它,或者像$ {projectVersion}的Maven结构的名称将替换
为您的pom文件的标记.
所以不要使用:
1.0.0-Final
将此变量的名称(和版本)更改为其他内容:
1.0.0-Final someName
在您的所有配置文件
并运行您的maven命令:
mvn install -Pprofilename
请注意您显示的配置文件.默认情况下它们都是活动的,这是一个问题,因为它们都定义了相同的maven属性.相反,您应该默认只将一个标记为活动.
您也不会显示
要处理的过滤filter.properties
,因此这也是一个错误.
最后,你可以在maven配置文件中控制工件版本.我不认为这是个好主意.请阅读maven-release-plugin.