代码之家  ›  专栏  ›  技术社区  ›  Lei Yang

maven pom:application.main.class和exec.main.class之间的差异

  •  0
  • Lei Yang  · 技术社区  · 6 年前

    我已经搜索并阅读了Maven docs 但没有找到答案。我是爪哇人,所以请原谅我这是一个重复。

    在我们公司的项目中,我看到一个POM定义了这些元素:

        <properties>
          <application.main.class>com.xxx.classfoo</application.main.class>
          <exec.main.class>com.yyy.classbar</exec.main.class>
          ...others...
        </properties>
    

    所以问题是他们之间的区别是什么?他们的名字看起来很像!

    2 回复  |  直到 6 年前
        1
  •  1
  •   YK S    6 年前

    引用 maven docs :

    Maven属性是值占位符,类似于Ant中的属性。它们的值可以通过符号$x在POM中的任何位置访问,其中x是属性。

    如上所述,它们只是占位符,可以使用$propertyname引用。

    现在可能需要引用 application.main.class exec.main.class 这就是它们在proeprities中定义的原因,无论在何处使用,它们都可以使用$application.main.class或$exec.main.class引用。

        2
  •  1
  •   Igor    6 年前

    这些是为项目专门定义的自定义属性-有关详细信息: https://maven.apache.org/pom.html#Properties

    尝试搜索 ${application.main.class} 在pom.xml中,您将看到它的使用位置