Maven3 package时报 'version' contains an expression but should be a constant

父pom文件:

4.0.0
com.wey
WEY
${com.wey.version}
pom
子Module
4.0.0
com.wey
WEY
${com.wey.version}
pom

package web工程时报 'version' contains an expression but should be a constant这个错误提示,这是因为Maven3 不允许出现version为非常量值的情况。

那么就将版本号改成常量后可以正常打包:

父pom文件:

4.0.0
com.wey
WEY
0.0.1-SNAPSHOT
pom

子Module


	com.wey
	WEY
	0.0.1-SNAPSHOT
	../WEY/pom.xml

WEY.WebApp
war
WEY.WebApp Maven Webapp
http://maven.apache.org
如果更新版本号一个文件一个文件的去改太麻烦,可以用以下命令一次性更新版本号:
>mvn versions:set -DnewVersion=0.0.2-SNAPSHOT
>mvn versions:update-child-modules
更新的父及子Module的版本号都改成了0.0.2-SNAPSHOT.
4.0.0
com.wey
WEY
0.0.2-SNAPSHOT
pom



	com.wey
	WEY
	0.0.2-SNAPSHOT
	../WEY/pom.xml

WEY.WebApp
war
WEY.WebApp Maven Webapp
http://maven.apache.org

Maven还会生成一个pom.xml.versionsBackup的备份文件。

提交更新:

>mvn versions:commit

 

你可能感兴趣的:(Maven3 package时报 'version' contains an expression but should be a constant)