父pom文件:
<modelVersion>4.0.0</modelVersion> <groupId>com.wey</groupId> <artifactId>WEY</artifactId> <version>${com.wey.version}</version> <packaging>pom</packaging>
子Module
<modelVersion>4.0.0</modelVersion> <groupId>com.wey</groupId> <artifactId>WEY</artifactId> <version>${com.wey.version}</version> <packaging>pom</packaging>
package web工程時報 'version' contains an expression but should be a constant這個錯誤提示,這是因為Maven3 不允許出現version為非常量值的情況。
那么就將版本號改成常量后可以正常打包:
父pom文件:
<modelVersion>4.0.0</modelVersion> <groupId>com.wey</groupId> <artifactId>WEY</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging>
子Module
<parent> <groupId>com.wey</groupId> <artifactId>WEY</artifactId> <version>0.0.1-SNAPSHOT</version> <relativePath>../WEY/pom.xml</relativePath> </parent> <artifactId>WEY.WebApp</artifactId> <packaging>war</packaging> <name>WEY.WebApp Maven Webapp</name> <url>http://maven.apache.org</url>
如果更新版本號一個文件一個文件的去改太麻煩,可以用以下命令一次性更新版本號:
>mvn versions:set -DnewVersion=0.0.2-SNAPSHOT
>mvn versions:update-child-modules
更新的父及子Module的版本號都改成了0.0.2-SNAPSHOT.
<modelVersion>4.0.0</modelVersion> <groupId>com.wey</groupId> <artifactId>WEY</artifactId> <version>0.0.2-SNAPSHOT</version> <packaging>pom</packaging> <parent> <groupId>com.wey</groupId> <artifactId>WEY</artifactId> <version>0.0.2-SNAPSHOT</version> <relativePath>../WEY/pom.xml</relativePath> </parent> <artifactId>WEY.WebApp</artifactId> <packaging>war</packaging> <name>WEY.WebApp Maven Webapp</name> <url>http://maven.apache.org</url>
Maven還會生成一個pom.xml.versionsBackup的備份文件。
提交更新:
>mvn versions:commit