在我们项目的pom.xml
中,它定义JSF的依赖项如下:
<dependency>
<groupId>javax.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>${jsf.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>${jsf.version}</version>
<scope>provided</scope>
</dependency>
我的问题是,当我们没有声明隐含的JSF版本时,Maven如何/为什么确切地知道JSF的版本(在这种情况下它得到1.2版本)?我在哪里可以找到我们设置变量${jsf.version}
的值
这通常被定义为一个属性,或者在相同的pom.xml
中,或者在父pom.xml
中,或者在用户自己的settings.xml
中,或者在全局settings.xml
中,或者显式地作为命令行参数。
在XML风格中,它看起来像这样:
<properties>
<jsf.version>1.2</jsf.version>
</properties>
在命令行中,它看起来像这样:
mvn -Djsf.version=1.2
参见:
- Maven POM参考-属性