我已经搜索并阅读了maven docs,但没有找到答案。我是Java的新手,所以如果重复,请原谅我。
在我们公司的项目中,我看到一个pom定义了以下元素:
<properties>
<application.main.class>com.xxx.classfoo</application.main.class>
<exec.main.class>com.yyy.classbar</exec.main.class>
...others...
</properties>
所以问题是它们之间有什么区别?他们的名字看起来很像!
答案 0 :(得分:1)
这些是专门为您的项目定义的自定义属性-有关更多信息:https://maven.apache.org/pom.html#Properties
尝试在pom.xml中搜索${application.main.class}
,您将看到它的使用位置
答案 1 :(得分:1)
从maven docs引用:
Maven属性是值占位符,就像Ant中的属性一样。通过使用符号$ {X}(其中X是属性),可以在POM中的任何位置访问它们的值。
如上所述,它们只是占位符,可以使用$ {propertyName}进行引用。
现在可能需要引用由application.main.class
或exec.main.class
定义的类,这就是为什么要适当定义它们的原因,并且无论在何处使用它们,都可以使用$ {application.main来引用。 class}或$ {exec.main.class}。